home *** CD-ROM | disk | FTP | other *** search
/ The Business Master (4th Edition) / The Business Master - 4th Edition.iso / files / utilfile / incommnd / incomand.exe / INCOMAND.PRN < prev    next >
Encoding:
Text File  |  1993-01-16  |  257.6 KB  |  5,553 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.                                       INCOMMAND
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.                                Command Line Utilities
  18.                                        for DOS
  19.  
  20.                                      Version 2.0
  21.  
  22.  
  23.                                Manual Revised 1/14/93
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.                                  from Inductive Logic
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.                               What Is Inductive Logic ?
  54.                               What Is Inductive Logic ?
  55.                               What Is Inductive Logic ?
  56.  
  57.           In science, inductive logic is  the process of inferring  general
  58.           principles from observed phenomena.  In software, Inductive Logic
  59.           means general purpose utilities, based  on the observed needs  of
  60.           computer  users.    Inductive  Logic  solutions  adhere  to   the
  61.           principles of consistency, power, and flexibility.  We believe in
  62.           the intelligence of our users, so our software does exactly  what
  63.           you tell it to do.   We dislike software  that thinks it is  more
  64.           clever than we are, thereby introducing inconsistencies which are
  65.           far more  annoying than  useful.   The consistency  of  Inductive
  66.           Logic products makes  them easier to  learn, automate (e.g.  .BAT
  67.           files), and interpret their results.  Occasionally, we have  been
  68.           frustrated by  the  inconsistencies  inherent  in  the  operating
  69.           system.  Since  we have no  control over DOS,  we have made  some
  70.           compromises to be consistent with existing DOS commands.
  71.  
  72.           We hope you  like Inductive  Logic products,  but there's  always
  73.           room for improvement.  Let us know  what you think.  What do  you
  74.           like?  What do you dislike?  How's our documentation?  What would
  75.           you like to see in the future?   Use the Reader Response form  at
  76.           the back of this manual, or write us:
  77.  
  78.                   Inductive Logic
  79.                   P.O. Box 26238
  80.                   San Diego, CA 92196
  81.                   (619) 578-5146
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.           Copyright  1990-1993 by Inductive  Logic.  All rights  reserved.
  90.           No part of  this manual may  be reproduced by  any means  without
  91.           express written permission from Inductive Logic.  The information
  92.           in this document is subject to change without notice.   Inductive
  93.           Logic assumes no liability for any errors that may appear in this
  94.           document.
  95.  
  96.           The software described in this manual is copyrighted by Inductive
  97.           Logic 1990-1992.   It  may only  be  used under  duly  authorized
  98.           license from Inductive Logic.
  99.  
  100.  
  101.  
  102.              We're Members of the Association of Shareware Professionals
  103.              We're Members of the Association of Shareware Professionals
  104.              We're Members of the Association of Shareware Professionals
  105.  
  106.           Inductive Logic  is  a member  of  the Association  of  Shareware
  107.           Professionals (ASP).  ASP wants to  make sure that the  shareware
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.           principle works  for  you.    If you  are  unable  to  resolve  a
  116.           shareware-related problem with  an ASP member  by contacting  the
  117.           member directly, ASP may be able to help.  The ASP Ombudsman  can
  118.           help you resolve  a dispute or  problem with an  ASP member,  but
  119.           does not provide technical support for members' products.  Please
  120.           write to the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442
  121.           or send a CompuServe message via CompuServe Mail to ASP Ombudsman
  122.           70007,3536.
  123.  
  124.  
  125.                          Why Registering Is Important to You
  126.                          Why Registering Is Important to You
  127.                          Why Registering Is Important to You
  128.  
  129.           For one thing, registering your software will give you a disk  to
  130.           eliminate the registration reminders on  every command.  It  will
  131.           also give you  a nice printed  manual.  But  in the larger  view,
  132.           remember that  without  software licensing/registration,  no  one
  133.           would publish software, and you wouldn't  be able to do  anything
  134.           with  your  computer.     Like  patents,  software   copyrighting
  135.           encourages development in this  critical technological area.   So
  136.           copyrighting is  important  to  you  as  an  individual,  and  to
  137.           America, to keep us competitive in a world market.
  138.  
  139.  
  140.                                DISCLAIMER OF WARRANTY
  141.                                DISCLAIMER OF WARRANTY
  142.                                DISCLAIMER OF WARRANTY
  143.  
  144.           THIS SOFTWARE  AND  MANUAL  ARE SOLD  WITHOUT  WARRANTIES  AS  TO
  145.           PERFORMANCE OR MERCHANTABILITY, OR  ANY OTHER WARRANTIES  WHETHER
  146.           EXPRESSED OR IMPLIED.   BECAUSE OF  THE VARIETY  OF HARDWARE  AND
  147.           SOFTWARE ENVIRONMENTS  INTO WHICH  THIS PROGRAM  MAY BE  PUT,  NO
  148.           WARRANTY OF FITNESS FOR  A PARTICULAR PURPOSE  IS OFFERED.   GOOD
  149.           DATA PROCESSING PROCEDURE DICTATES THAT THE USER THOROUGHLY  TEST
  150.           ANY PROGRAM WITH  NON-CRITICAL DATA BEFORE  RELYING ON  IT.   THE
  151.           USER MUST  ASSUME THE  ENTIRE RISK  OF USING  THE PROGRAM.    ANY
  152.           LIABILITY OF THE  SELLER WILL BE  LIMITED EXCLUSIVELY TO  PRODUCT
  153.           REPLACEMENT OR REFUND OF PURCHASE PRICE.
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.                                   Table of Contents
  162.                                   Table of Contents
  163.                                   Table of Contents
  164.           Getting Started
  165.           Getting Started
  166.           Getting Started................................
  167.                          ................................
  168.                          ...............................................
  169.                                                          ...............
  170.                                                          ...............1
  171.                                                                         1
  172.                                                                         1
  173.                Another Utility Package..................................3
  174.                How to Use This Manual...................................4
  175.                Notation.................................................5
  176.                Installation.............................................6
  177.                Tutorial.................................................7
  178.                     Aborting Commands...................................12
  179.                Where Do I Go Now?.......................................12
  180.                Customer Support.........................................13
  181.           Syntax Reference
  182.           Syntax Reference
  183.           Syntax Reference................................
  184.                           ................................
  185.                           ..............................................
  186.                                                           ..............
  187.                                                           ..............14
  188.                                                                         14
  189.                                                                         14
  190.                Command Structure........................................15
  191.                Wildcard File Specifications.............................15
  192.                     The Wildcards: ?, *, . . ...........................16
  193.                     Implied Wildcards...................................18
  194.                     Multiple Wildcard Patterns..........................18
  195.                     Wildcard Filespec Summary...........................19
  196.                     Some Subtleties About ". . .".......................20
  197.                Destination Filespecs....................................20
  198.                Command Modifiers........................................21
  199.                     Keyword Modifiers...................................22
  200.                          Exclude Files Modifier (/EXCLUDE)..............22
  201.                          Date/Time Syntax (/BEFORE, /SINCE, /ON)........23
  202.                          File Size Modifiers (/BIGGER, /SMALLER)........25
  203.                     Attribute Modifiers.................................26
  204.                          System and Hidden Files........................27
  205.                Exit Codes...............................................28
  206.           Utility Reference
  207.           Utility Reference
  208.           Utility Reference................................
  209.                            ................................
  210.                            .............................................
  211.                                                            .............
  212.                                                            .............29
  213.                                                                         29
  214.                                                                         29
  215.                CHATT  (change file attributes)..........................31
  216.                DAYTIME  (timestamp a message)...........................34
  217.                DHELP  (on-line help for DOS)............................35
  218.                DI  (directory listing)..................................38
  219.                EXECUTE  (run any command as  if it had InCommand  file
  220.                selections)..............................................43
  221.                ICOPY  (copy files)......................................48
  222.                IDEL  (delete files).....................................56
  223.                IHELP  (on-line help for InCommand)......................59
  224.                IRD  (remove directories)................................61
  225.                IREN  (rename files).....................................64
  226.                MOVE  (move files without copying).......................67
  227.                MOVEDIR   (rename  subdirectories,  or  move  directory
  228.                trees without copying)...................................72
  229.                SEARCH (search files for text strings)...................75
  230.                TOUCH  (change file modification time)...................80
  231.                WHICH  (search PATH for an executable file)..............82
  232.                WIPEDIR  (erase an entire directory tree)................84
  233.  
  234.  
  235.  
  236.           InCommand User's Guide                   Table of Contents   i
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.           Applications
  245.           Applications
  246.           Applications................................
  247.                       ................................
  248.                       ..................................................
  249.                                                       ..................
  250.                                                       ..................85
  251.                                                                         85
  252.                                                                         85
  253.                Finding a File...........................................87
  254.                Cleaning Up Your Disk....................................87
  255.                Why Doesn't My Computer Work?............................88
  256.                Backing Up Hard Disks....................................88
  257.                     Making Backups......................................89
  258.                     Restoring From your Backups.........................91
  259.                Fast Updating of a Directory.............................91
  260.                Physically Sorting a Directory...........................92
  261.                File Existence Testing in Batch Files....................93
  262.           DOS Facts and Foibles
  263.           DOS Facts and Foibles
  264.           DOS Facts and Foibles................................
  265.                                ................................
  266.                                .........................................
  267.                                                                .........
  268.                                                                .........95
  269.                                                                         95
  270.                                                                         95
  271.           Revision History
  272.           Revision History
  273.           Revision History................................
  274.                           ................................
  275.                           ..............................................
  276.                                                           ..............
  277.                                                           ..............97
  278.                                                                         97
  279.                                                                         97
  280.           ASCII Character Set
  281.           ASCII Character Set
  282.           ASCII Character Set................................
  283.                              ................................
  284.                              ...........................................
  285.                                                              ...........
  286.                                                              ...........99
  287.                                                                         99
  288.                                                                         99
  289.           Index
  290.           Index
  291.           Index................................
  292.                ................................
  293.                .........................................................
  294.                                                .........................
  295.                                                .........................101
  296.                                                                         101
  297.                                                                         101
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.           ii   Table of Contents                         Inductive Logic
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.                                                             GETTING STARTED
  345.                                                             GETTING STARTED
  346.                                                             GETTING STARTED
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.                               Another Utility Package ?
  356.                               Another Utility Package ?
  357.                               Another Utility Package ?
  358.  
  359.           Yes, another utility package!  Why?   Because existing ones  just
  360.           aren't good  enough, that's  why.   There are  a number  of  good
  361.           utility packages for various specialized functions, but none  for
  362.           normal, everyday command line use.   For example, would you  like
  363.           to see  all the  files you've  created since  this morning?    Or
  364.           delete all the files of a certain type that are more than a  year
  365.           old?  Or find  out if a group  of files will  fit on your  floppy
  366.           disk? Would you like to  be able to do  any operation on a  whole
  367.           disk as easily  as on  one file?   And would  you like  to do  it
  368.           without learning  a  whole  new  command  structure?    Inductive
  369.           Logic's InCommand
  370.                   InCommand
  371.                   InCommand provides all this, and more:
  372.  
  373.                 Multiple *
  374.                          *
  375.                          *'s in file and directory wildcards
  376.                 Select (and  exclude)  multiple  wildcard  patterns  in  a
  377.                 single command
  378.                 Process an entire disk as easily as 1 file
  379.                 Select files before,  after, or  on any date  or time,  or
  380.                 between any 2 times
  381.                 Select files bigger or smaller  than any size, or  between
  382.                 any 2 sizes
  383.                 Select files  including or  excluding any  combination  of
  384.                 attributes
  385.                 Move files  or  entire  directories  without  copying  and
  386.                 deleting
  387.                 Large numbers (like  file sizes) are  printed with  commas
  388.                 for easy reading
  389.                 Utilities run as DOS  commands.  No  menu walking to  slow
  390.                 you down.
  391.                 Designed for both interactive and batch use
  392.                 All utilities return exit status codes (ERROR LEVEL)
  393.                 Incremental backup to multiple floppies
  394.                 Fast incremental directory updates
  395.  
  396.           Users at all levels (beginners, intermediate, and advanced)  will
  397.           appreciate the command format that is a natural extension of  the
  398.           DOS format they already know.  Beginners
  399.                                          Beginners
  400.                                          Beginners will like the feedback,
  401.           because InCommand utilities display  both individual and  summary
  402.           information about the  files affected, so  you know the  commands
  403.           did exactly what you expected.  By default, potentially dangerous
  404.           operations prompt  with  ________
  405.                                    specific information  for  confirmation
  406.  
  407.           before proceeding.  Intermediate
  408.                               Intermediate
  409.                               Intermediate users will appreciate the total
  410.           power and flexibility the file  selection criteria provide.   And
  411.           because InCommand utilities are designed for both interactive and
  412.  
  413.  
  414.  
  415.           InCommand User's Guide                     Getting Started   3
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.           batch users, advanced
  424.                        advanced
  425.                        advanced PC users  will appreciate  the ability  to
  426.           turn off confirmation  prompts for  any operation,  and the  exit
  427.           status codes provided by each utility.
  428.  
  429.           Why don't we use  menus?  Menus are  good for many  applications,
  430.           and  we  like  them.    However,  they  do  have  some   inherent
  431.           limitations.  We  have specifically chosen  to implement  command
  432.                                                                     command
  433.                                                                     command
  434.           line
  435.           line
  436.           line utilities  because  they  are most  flexible,  they  can  be
  437.           automated in  batch  files, and  because  they are  usually  much
  438.           faster to use than menus.
  439.  
  440.            The InCommand utilities are:
  441.  
  442.                 CHATT
  443.                 CHATT
  444.                 CHATT      Changes file attributes
  445.                 DAYTIME
  446.                 DAYTIME
  447.                 DAYTIME    Prints the current day  of the week,  date, and
  448.                            time, or timestamps a message
  449.                 DHELP
  450.                 DHELP
  451.                 DHELP      Instant on-line help for all DOS commands
  452.                 DI
  453.                 DI
  454.                 DI         Makes a directory listing
  455.                 EXECUTE
  456.                 EXECUTE
  457.                 EXECUTE    Runs your own  program or batch  file as  if it
  458.                            had InCommand wildcard-filespecs
  459.                 ICOPY
  460.                 ICOPY
  461.                 ICOPY      Copies files
  462.                 IDEL
  463.                 IDEL
  464.                 IDEL       Deletes files
  465.                 IHELP
  466.                 IHELP
  467.                 IHELP      Instant on-line help for InCommand
  468.                 IRD
  469.                 IRD
  470.                 IRD 
  471.                     
  472.                            Removes (deletes) directories
  473.                 IREN
  474.                 IREN
  475.                 IREN       Renames files
  476.                 MOVE
  477.                 MOVE
  478.                 MOVE 
  479.                      
  480.                            Moves files to other directories
  481.                 MOVEDIR
  482.                 MOVEDIR
  483.                 MOVEDIR    Renames subdirectories, or moves  them to other
  484.                            directories
  485.                 SEARCH
  486.                 SEARCH
  487.                 SEARCH     Search for text strings in files
  488.                 TOUCH
  489.                 TOUCH
  490.                 TOUCH      Sets file modification times to any value
  491.                 WHICH
  492.                 WHICH
  493.                 WHICH      Searches your PATH for the  executable file for
  494.                            a DOS command
  495.                 WIPEDIR
  496.                 WIPEDIR
  497.                 WIPEDIR 
  498.                         
  499.                            Deletes entire directory trees
  500.  
  501.  
  502.  
  503.                                How to Use This Manual
  504.                                How to Use This Manual
  505.                                How to Use This Manual
  506.  
  507.           This document  has  4 main  sections:   Getting Started
  508.                                                   Getting Started
  509.                                                   Getting Started ,  Syntax
  510.                                                                      Syntax
  511.                                                                      Syntax
  512.           Reference
  513.           Reference
  514.           Reference, Utility Reference
  515.                      Utility Reference
  516.                      Utility Reference, and  Applications
  517.                                              Applications
  518.                                              Applications. Getting Started
  519.           is a quick,  easy-to-read introduction to  the basic  operations.
  520.           Everyone  should  read  this  section.    The  Syntax   Reference
  521.           describes the  general command  syntax, shared  by all  InCommand
  522.           utilities. New  users need  not read  this at  first, but  should
  523.           refer to  it to  answer specific  questions,  and to  learn  more
  524.           advanced operations.  The  Utility Reference lists all  utilities
  525.  
  526.  
  527.  
  528.           4  Getting Started                             Inductive Logic
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.           alphabetically, and  fully  describes  each.    This  section  is
  537.           appropriate for all levels of users needing detailed  information
  538.           about a particular utility.   The Applications section  describes
  539.           some typical tasks  that PC users  need to  do, with  descriptive
  540.           examples of how InCommand helps you get them done.
  541.  
  542.           This document  assumes that  you are  familiar with  some of  the
  543.           common  DOS  commands  and  utilities,  and  with  DOS  file  and
  544.           directory concepts.   Refer  to your  DOS documentation,  or  the
  545.           DHELP utility, for more information on these topics.
  546.  
  547.  
  548.                                       Notation
  549.                                       Notation
  550.                                       Notation
  551.  
  552.           When describing command  syntax in this  document, we  print all
  553.           text which you would  type literally (exactly  as shown) in  BOLD
  554.                                                                        BOLD
  555.                                                                        BOLD
  556.           CAPS MONOSPACE
  557.           CAPS MONOSPACE
  558.           CAPS MONOSPACE.  Parameters for which  you would substitute your
  559.           own text are given in italics (e.g., filespec).  As usual, square
  560.           brackets surround [optional parameters],  but you don't  actually
  561.           type the brackets.  Control characters are listed as ^X
  562.                                                                ^X
  563.                                                                ^X, or as a
  564.           keyname in angle brackets, <ESC>
  565.                                      <ESC>
  566.                                      <ESC>.
  567.  
  568.           We're  not   sticklers   for   mathematically   rigorous   syntax
  569.           specifications, so we  use a less  formal notation, because  it's
  570.           easier to understand.  For example,
  571.  
  572.                XYZ 
  573.                XYZ 
  574.                XYZ filespec [/BEFORE:
  575.                             [/BEFORE:
  576.                             [/BEFORE:date:
  577.                                          :
  578.                                          :time]
  579.                                               ]
  580.                                               ]
  581.  
  582.           means type  "XYZ" followed  by a  space and  a filespec  of  your
  583.           choice, optionally followed by "/BEFORE" and your choice of dates
  584.           and/or times.  Even though you have many options for specifying a
  585.           date, we don't clutter the syntax description with nested  square
  586.           brackets and such.  The complete Date/Time syntax is described in
  587.           the Syntax Reference section.
  588.  
  589.           Because each of the InCommand utilities is a "command" to DOS, we
  590.           use the terms "command" and "utility" interchangeably.
  591.  
  592.           Also, the term "directory" means any directory (set of files and
  593.           subdirectories) on a disk.  A "subdirectory" is just a directory
  594.           like any  other.   The prefix  "sub"  is used  only to  help  you
  595.           understand that the subdirectory lies below another directory  in
  596.           the hierarchy.
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.           InCommand User's Guide                     Getting Started   5
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.                                     Installation
  612.                                     Installation
  613.                                     Installation
  614.  
  615.           InCommand requires an IBM compatible PC,  DOS 3.0 or higher,  and
  616.           256 kbyte of  RAM. You must  install InCommand  with the  INSTALL
  617.           command on the master floppy, because INSTALL does more than just
  618.           copy the files from the floppy.   INSTALL will put the  InCommand
  619.           utilities in a directory  of their own, and  (if you wish)  place
  620.           that directory  in the  PATH command  of your  AUTOEXEC.BAT.   To
  621.           install from the A: floppy drive, just type
  622.  
  623.                A:INSTALL
  624.                A:INSTALL
  625.                A:INSTALL
  626.  
  627.           and answer the questions that INSTALL  asks.  Of course, if  your
  628.           floppy drive is not A:, use your drive letter in place of the "A"
  629.           in the above example.
  630.  
  631.           Be sure  to check  the README.TXT  
  632.           Be sure  to check  the README.TXT  
  633.           Be sure  to check  the README.TXT  file
  634.                                              file
  635.                                              file in  the Inductive  Logic
  636.           directory for  any late  news that  did not  arrive in  time  for
  637.           printing in  the manual.   You  can  read it  on your  screen  by
  638.           typing:
  639.  
  640.                MORE <\IL\README.TXT
  641.                MORE <\IL\README.TXT
  642.                MORE <\IL\README.TXT     assuming "\IL" is your InCommand
  643.                                         directory
  644.  
  645.           You can print it by typing
  646.  
  647.                COPY README.TXT PRN:
  648.                COPY README.TXT PRN:
  649.                COPY README.TXT PRN:
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.           6  Getting Started                             Inductive Logic
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.                                       Tutorial
  681.                                       Tutorial
  682.                                       Tutorial
  683.  
  684.           In this section, we introduce you to some of the common InCommand
  685.           utilities, and the general command syntax.   The syntax is common
  686.           to all of the InCommand utilities,  and because it is similar  to
  687.           DOS, it is easy  to learn and  remember.  We  suggest you sit  at
  688.           your computer while  reading this section,  and try  some of  the
  689.           examples as you  go.  Most of this  manual is available  on-line
  690.           with the IHELP utility.  IHELP  allows you to browse through  the
  691.           help text, and instantly locate help on specific topics.  To  use
  692.           it, just type
  693.  
  694.                IHELP
  695.                IHELP
  696.                IHELP
  697.           and follow the directions that appear.   All InCommand utilities
  698.           provide on-line  usage help,  which can  be  seen by  typing  the
  699.           command with the /? 
  700.                            /? 
  701.                            /? modifier.
  702.  
  703.           InCommand provides  commands  to list  directories  (DI
  704.                                                                DI
  705.                                                                DI), delete
  706.           files (IDEL
  707.                  IDEL
  708.                  IDEL), remove directories (IRD
  709.                                             IRD
  710.                                             IRD), copy files (ICOPY
  711.                                                               ICOPY
  712.                                                               ICOPY), move
  713.           files without  copying (MOVE
  714.                                   MOVE
  715.                                   MOVE), change  file attributes  ( CHATT
  716.                                                                     CHATT
  717.                                                                     CHATT),
  718.           search  for  text   strings  in  files   (SEARCH
  719.                                                     SEARCH
  720.                                                     SEARCH),  change  file
  721.           modification times  (TOUCH
  722.                                TOUCH
  723.                                TOUCH), and  more.  These  commands  use  a
  724.           familiar syntax similar  to DOS, but  with greater  capabilities.
  725.           Throughout the utilities, similar functions use the same  command
  726.           modifiers.
  727.  
  728.           In this tutorial, we introduce you to the most common  utilities:
  729.           DI, IDEL, IRD, ICOPY,  and MOVE.  The  DI (DIrectory) command is
  730.           probably the most used of the InCommand utilities.  This  command
  731.           lists the  contents  of  directories,  similar  to  the  DOS  DIR
  732.           command.  For example, to list the current directory, type
  733.  
  734.                DI
  735.                DI
  736.                DI                       list the current directory, sorted
  737.                                         alphabetically
  738.  
  739.           Right away, you  notice how much  better than  DOS the  directory
  740.           listing is:
  741.                 the files are listed alphabetically
  742.                 file sizes have commas every 3 digits
  743.                 attributes are displayed with each directory entry
  744.                 complete file times are listed
  745.  
  746.           Or, you can have the files sorted any way you want.  For example,
  747.  
  748.                DI /BYEXTENSION
  749.                DI /BYEXTENSION
  750.                DI /BYEXTENSION list the current directory, sorted by
  751.                                         extension
  752.  
  753.  
  754.  
  755.           InCommand User's Guide                     Getting Started   7
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.                DI /BYTIME
  764.                DI /BYTIME
  765.                DI /BYTIME      list the current directory, sorted by file
  766.                                         modification time
  767.  
  768.                DI /BYSIZE
  769.                DI /BYSIZE
  770.                DI /BYSIZE      list the current directory, sorted by file
  771.                                         size
  772.  
  773.           Files and directories can be selected using wildcard characters.
  774.           As with DOS, the "*" wildcard  can be substituted for any  number
  775.           of any characters (except ".") in a file name:
  776.  
  777.                DI *.OBJ
  778.                DI *.OBJ
  779.                DI *.OBJ                 list all .OBJ files
  780.  
  781.                DI A*.OBJ
  782.                DI A*.OBJ
  783.                DI A*.OBJ                list all .OBJ files beginning with
  784.                                         "A"
  785.  
  786.           Better than the DOS "*" wildcard, the InCommand "*" wildcard  can
  787.           be anywhere in the filename:
  788.  
  789.                DI *A.OBJ
  790.                DI *A.OBJ
  791.                DI *A.OBJ                list all .OBJ files whose names end
  792.                                         with "A"
  793.  
  794.                DI A*B.OBJ
  795.                DI A*B.OBJ
  796.                DI A*B.OBJ               list all .OBJ files whose names
  797.                                         begin with "A" and end with "B"
  798.  
  799.                DI A*B*C.OBJ
  800.                DI A*B*C.OBJ
  801.                DI A*B*C.OBJ             list all .OBJ files whose names
  802.                                         begin with "A", end with "C",  and
  803.                                         have "B" anywhere in between
  804.  
  805.           Another wildcard character is  "?".  The  "?" can be  substituted
  806.           for any one character in a file name (except blanks or the "."):
  807.  
  808.                DI ?A*
  809.                DI ?A*
  810.                DI ?A*                   list all files whose name has "A"
  811.                                         as the second character.
  812.  
  813.           With InCommand you  can also specify  multiple wildcard  filename
  814.           patterns.  You can only give a single path specifier, but you can
  815.           include any number of filename  patterns by seperating them  with
  816.           commas.  For example, to see all of the *.BAK and *.TMP files  in
  817.           subdirectory A, type
  818.  
  819.                DI A\.BAK,.TMP
  820.                DI A\.BAK,.TMP
  821.                DI A\.BAK,.TMP           list all *.BAK and *.TMP files in
  822.                                         subdirectory A
  823.  
  824.           InCommand wildcards can also be used in directory names:
  825.  
  826.  
  827.  
  828.  
  829.  
  830.           8  Getting Started                             Inductive Logic
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.                DI A*B\
  839.                DI A*B\
  840.                DI A*B\                  list the contents of all the
  841.                                         subdirectories of the current
  842.                                         directory whose names begin with
  843.                                         "A", and end with "B"
  844.  
  845.                DI A?B\
  846.                DI A?B\
  847.                DI A?B\                  list the contents of all
  848.                                         subdirectories whose names are 3
  849.                                         characters, beginning with "A",
  850.                                         ending with "B", and having any
  851.                                         character as the second character.
  852.  
  853.           Sometimes, you'll want to perform an operation on all files in  a
  854.           directory, and
  855.                      and
  856.                      and all files in all subdirectories below it (i.e., on
  857.           a "directory tree").   We us the  syntax ".  . ."  to specify  a
  858.           directory and all subdirectories below it (a directory tree):
  859.  
  860.                DI ...
  861.                DI ...
  862.                DI ...                   list the directory tree starting at
  863.                                         the current directory.
  864.  
  865.                DI A\...*.OBJ
  866.                DI A\...*.OBJ
  867.                DI A\...*.OBJ            list all the .OBJ files in the
  868.                                         directory tree starting at
  869.                                         subdirectory A.
  870.  
  871.           An easy way to think of the ". .  ." wildcard is to note that  it
  872.           is replaced by zero or more subdirectories.  That is, the set  of
  873.           directories specified by ".  . ." is  first, the directory  given
  874.           preceding the ".  . . ",  then all its  subdirectories, then  all
  875.           their subdirectories, and so on.
  876.  
  877.           Notice also that  in the preceding  example, the backslash  after
  878.           the directory A could be omitted.  We allow this abbreviation  to
  879.           reduce your typing:
  880.  
  881.                DI A...*.OBJ
  882.                DI A...*.OBJ
  883.                DI A...*.OBJ             is the same as 
  884.                                                        
  885.                                                         
  886.                                                         
  887.                                                             DI A\...*.OBJ
  888.                                                             DI A\...*.OBJ
  889.                                                             DI A\...*.OBJ
  890.  
  891.           Command modifiers can be used to select  files by date and time:
  892.  
  893.                DI /SINCE:12-23-89
  894.                DI /SINCE:12-23-89
  895.                DI /SINCE:12-23-89       list entries in the current
  896.                                         directory that have 
  897.                                                             
  898.                                                             been modified
  899.                                         since December 23, 1989.
  900.  
  901.                DI /BEFORE:1-27:16:10
  902.                DI /BEFORE:1-27:16:10
  903.                DI /BEFORE:1-27:16:10    list entries in the current
  904.                                         directory that were last modified
  905.                                         before 4:10 pm on January 27 of the
  906.                                         current year.
  907.  
  908.  
  909.  
  910.  
  911.           InCommand User's Guide                     Getting Started   9
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.                DI /ON:MONDAY
  920.                DI /ON:MONDAY
  921.                DI /ON:MONDAY            list entries in the current
  922.                                         directory that were last modified
  923.                                         on Monday
  924.  
  925.                DI ...*.OBJ /BE:1-1-90 /SI:12-1-89 
  926.                DI ...*.OBJ /BE:1-1-90 /SI:12-1-89 
  927.                DI ...*.OBJ /BE:1-1-90 /SI:12-1-89      list .OBJ entries in
  928.                                         the tree starting at the current
  929.                                         directory that were last modified
  930.                                         in December, 1989.
  931.  
  932.           Notice that in the last example the /BEFORE and /SINCE  modifiers
  933.           are used together  to select  a time  interval.   Also, they  are
  934.           abbreviated.  All keyword modifiers  can be  abbreviated to  the
  935.           minimum number of characters necessary to uniquely identify them.
  936.  
  937.           Other InCommand command  modifiers allow you  to select files  by
  938.           their size or file attributes  (see the Syntax Reference  section
  939.           for more information).
  940.  
  941.           To  delete  files,   the  IDEL  command  uses   the  same   file
  942.           specification syntax  as the  DI command  (in  fact, all  of  the
  943.           InCommand  utilities  use  the  same  syntax).    Here  are  some
  944.           examples, but don't try them  unless you  really want to  delete
  945.                         don't try them  unless you  really want to  delete
  946.                         don't try them  unless you  really want to  delete
  947.           some files
  948.           some files
  949.           some files:
  950.  
  951.                IDEL ...*.BAK
  952.                IDEL ...*.BAK
  953.                IDEL ...*.BAK            delete all files with the extension
  954.                                         .BAK in the current directory tree.
  955.  
  956.                IDEL ...*.*
  957.                IDEL ...*.*
  958.                IDEL ...*.*              delete all the files in the current
  959.                                         directory tree. (Be very carelist
  960.                                         .ful of this!).  This example
  961.                                         strips all of the files from the
  962.                                         current tree, but leaves the
  963.                                         directory structure in place.
  964.  
  965.           Sometimes, you want  to pick  and choose  among a  set of  files,
  966.           deleting some and keeping others.  IDEL lets you do this  easily,
  967.           with the /INDIVIDUALLY modifier:
  968.  
  969.                IDEL *.BAK /IND
  970.                IDEL *.BAK /IND
  971.                IDEL *.BAK /IND          prompt on each file and delete only
  972.                                         if user replies "Y"
  973.  
  974.           IDEL will list the first file matching *.BAK, and ask if you want
  975.           to delete it.  If you say "N", the file is kept.  If you say "Y",
  976.           the file is deleted.  Either way,   IDEL then shows you the  next
  977.           file matching *.BAK, and  asks the same question.   In this  way,
  978.  
  979.  
  980.  
  981.  
  982.           10  Getting Started                            Inductive Logic
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.           you can step through all the files, and delete only the ones  you
  991.           want.
  992.  
  993.           The IRD command removes (deletes) directories,  but only if they
  994.           are empty.  For example, the IRD command can be used to remove  a
  995.           tree of empty directories:
  996.  
  997.                IRD ...*.*
  998.                IRD ...*.*
  999.                IRD ...*.*               remove all empty subdirectories in
  1000.                                         the current tree.
  1001.  
  1002.           Note that you can use /INDIVIDUALLY on IRD, just like IDEL.   For
  1003.           deleting directory trees,  see also  the WIPEDIR command  in the
  1004.           Utility Reference section (page 84).
  1005.  
  1006.           The ICOPY
  1007.               ICOPY
  1008.               ICOPY command copies files from any disk or directory to any
  1009.           other (or the same) disk or directory:
  1010.  
  1011.                ICOPY SOURCE.TXT NEWDIR\DEST.TXT
  1012.                ICOPY SOURCE.TXT NEWDIR\DEST.TXT
  1013.                ICOPY SOURCE.TXT NEWDIR\DEST.TXT
  1014.                                         copy the file SOURCE.TXT into the
  1015.                                         file NEWDIR\DEST.TXT
  1016.           If the destination directory path does not exist, ICOPY will ask
  1017.           if you want to create it.
  1018.           You can copy a  whole directory tree, in this example  to the A:
  1019.           drive,  with the following command:
  1020.  
  1021.                ICOPY ...*.*  A:   
  1022.                ICOPY ...*.*  A:   
  1023.                ICOPY ...*.*  A:   or   ICOPY *.*  A: /S
  1024.                                        ICOPY *.*  A: /S
  1025.                                        ICOPY *.*  A: /S
  1026.                                         copy the entire tree starting at
  1027.                                         the current directory to A:
  1028.           For those of  you used  to the  DOS XCOPY/S  command for  copying
  1029.           directory trees, notice that we  also support the "/S"  modifier,
  1030.           for your convenience.
  1031.  
  1032.  
  1033.           ICOPY can also  flatten a tree  of subdirectories  into a  single
  1034.           directory:
  1035.  
  1036.                ICOPY A\...*.* B\ /FLATTEN
  1037.                ICOPY A\...*.* B\ /FLATTEN
  1038.                ICOPY A\...*.* B\ /FLATTEN
  1039.                                         copy all the files in the tree
  1040.                                         starting at A\  to the single
  1041.                                         directory B\
  1042.           A unique feature of the InCommand utilities is the MOVE command.
  1043.           The MOVE command moves files from  one directory to any other  on
  1044.           the same disk, without actually copying the file and deleting the
  1045.           original.  Because the file is not copied (only directory entries
  1046.           are changed), the MOVE command is instantaneous no matter how big
  1047.           the file  is.   For  example,  if you  have  a file  named  X  in
  1048.  
  1049.  
  1050.  
  1051.           InCommand User's Guide                    Getting Started   11
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.           directory A\,  you can  move  it out  of  directory A\  and  into
  1060.           directory B\ with this command:
  1061.  
  1062.                MOVE A\X B\
  1063.                MOVE A\X B\
  1064.                MOVE A\X B\              move the file X from directory A\
  1065.                                         to directory B\
  1066.  
  1067.           You can also change  the name of  the file when  moving it.   For
  1068.           example,
  1069.  
  1070.                MOVE A\X B\Y
  1071.                MOVE A\X B\Y
  1072.                MOVE A\X B\Y             move the file X from directory A\
  1073.                                         to directory B\, and change its
  1074.                                         name to Y
  1075.  
  1076.           Even more powerful, you can move  an entire directory to  another
  1077.           directory on the same disk with the MOVEDIR command.  Notice that
  1078.           by moving a directory, we mean that all of its contents are moved
  1079.           with it,  including  all  lower subdirectories,  i.e.  the  whole
  1080.           directory tree.   Like the  MOVE command,  nothing is  copied or
  1081.           deleted, only directory entries are changed.  This means you  can
  1082.           move hundreds of megabytes in no  time.  This is a more  advanced
  1083.           topic, and you can read all  about it in the MOVEDIR  description
  1084.           in the Utility Reference section.
  1085.  
  1086.  
  1087.  
  1088.                                   Aborting Commands
  1089.                                   Aborting Commands
  1090.                                   Aborting Commands
  1091.  
  1092.           You can  abort any  InCommand utility  while it  is executing  by
  1093.           pressing ^C  (Ctrl and  C simultaneously).   It  may take  a  few
  1094.           seconds to abort.  You can  make utilities abort faster by  using
  1095.           the DOS BREAK ON command.   See  your DOS manual,  or the  DHELP
  1096.           utility, for more information.
  1097.  
  1098.  
  1099.  
  1100.                                  Where Do I Go Now?
  1101.                                  Where Do I Go Now?
  1102.                                  Where Do I Go Now?
  1103.  
  1104.           You're now ready to  start being more  productive every day  with
  1105.           InCommand, the Inductive Logic DOS  Command Line Utilities.   All
  1106.           the utilities you've just seen  have many more capabilities  than
  1107.           described in this introduction.  To find out everything a command
  1108.           can do, read  its description in  the Utility Reference  section.
  1109.           There, you can also  find out about  other utilities which  allow
  1110.           you to  move directories  (MOVEDIR
  1111.                                      MOVEDIR
  1112.                                      MOVEDIR), to  modify  file attributes
  1113.           (CHATT
  1114.            CHATT
  1115.            CHATT), to  modify the  time  and date  of  a file  (TOUCH
  1116.                                                                 TOUCH
  1117.                                                                 TOUCH), to
  1118.           display the current  date and  time (DAYTIME
  1119.                                                DAYTIME
  1120.                                                DAYTIME), to  determine the
  1121.  
  1122.  
  1123.  
  1124.           12  Getting Started                            Inductive Logic
  1125.  
  1126.  
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132.           location of an executable file (WHICH
  1133.                                           WHICH
  1134.                                           WHICH), to run your own programs
  1135.           or batch files as  if they had all  the InCommand file  selection
  1136.           capabilities (EXECUTE
  1137.                         EXECUTE
  1138.                         EXECUTE), to  search  for  text strings  in  files
  1139.           (SEARCH
  1140.            SEARCH
  1141.            SEARCH), and more.
  1142.  
  1143.           If you want to learn some of the more advanced features, such  as
  1144.           complete  wildcard  filespecs,   command  modifiers,  and   using
  1145.           InCommand utilities in  batch files, you  should read the  Syntax
  1146.           Reference section, immediately  following.   If you  want to  see
  1147.           examples of typical chores for which InCommand can save you time,
  1148.           read the Applications section of this manual.
  1149.  
  1150.  
  1151.  
  1152.                                   Customer Support
  1153.                                   Customer Support
  1154.                                   Customer Support
  1155.  
  1156.           Customer support is available by mail or phone.  If you have  any
  1157.           questions about our products,  you can mail them  to us, or  call
  1158.           us.  When you  call, you may  get an answering  machine.  If  so,
  1159.           please leave a message with (1) your name, (2) the date and  time
  1160.           you called, (3)  your time zone,  (4) phone  number, (5)  product
  1161.           registration number (from  your license agreement),  and (6)  the
  1162.           best time to reach you (so we don't play extended telephone tag).
  1163.           Then (7)  describe your  question.   We  will  get back  to  you.
  1164.           Please be sure to leave all 7 items listed here, or we may not be
  1165.           able to return your call.  You can write/call us at this address:
  1166.  
  1167.                           Inductive Logic, Customer Support
  1168.                           Inductive Logic, Customer Support
  1169.                           Inductive Logic, Customer Support
  1170.                                    P.O. Box 26238
  1171.                                    P.O. Box 26238
  1172.                                    P.O. Box 26238
  1173.                               San Diego, CA 92196-0238
  1174.                               San Diego, CA 92196-0238
  1175.                               San Diego, CA 92196-0238
  1176.                                     619-578-5146
  1177.                                     619-578-5146
  1178.                                     619-578-5146
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197.           InCommand User's Guide                    Getting Started   13
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.                                                            SYNTAX REFERENCE
  1209.                                                            SYNTAX REFERENCE
  1210.                                                            SYNTAX REFERENCE
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.                                   Command Structure
  1221.                                   Command Structure
  1222.                                   Command Structure
  1223.  
  1224.           InCommand command lines are comprised of commands
  1225.                                                    commands
  1226.                                                    commands, filespecs
  1227.                                                              filespecs
  1228.                                                              filespecs, and
  1229.           modifiers
  1230.           modifiers
  1231.           modifiers.  The command
  1232.                           command
  1233.                           command is just the  name of the utility  (e.g.,
  1234.           ICOPY).  A filespec
  1235.                      filespec
  1236.                      filespec designates a file  (or directory entry),  or
  1237.           set of files (or directory entries).  A filespec may use wildcard
  1238.           characters to identify a set of files.  A filespec may be  either
  1239.           a wildcard-filespec, or a destination-filespec.  Modifiers
  1240.                                                            Modifiers
  1241.                                                            Modifiers alter
  1242.           the operation of  commands in some  way. Filespecs and  modifiers
  1243.           are completely described in the following sections.
  1244.  
  1245.  
  1246.  
  1247.                             Wildcard File Specifications
  1248.                             Wildcard File Specifications
  1249.                             Wildcard File Specifications
  1250.  
  1251.           Most InCommand  utilities  accept wildcard  file  specifications,
  1252.           shown in the syntax description as a wildcard-filespec. InCommand
  1253.           wildcards are  much more  powerful than  DOS's,  and they  are  a
  1254.           superset, so  all  standard  DOS wildcards  work  with  InCommand
  1255.           utilities.
  1256.  
  1257.  
  1258.  
  1259.                         Note: Directories vs. Their Contents
  1260.                         Note: Directories vs. Their Contents
  1261.                         Note: Directories vs. Their Contents
  1262.  
  1263.                To be consistent in  our wildcard file  specifications,
  1264.                we have had to  introduce one small difference  between
  1265.                our DI 
  1266.                    DI 
  1267.                    DI directory command and DOS's DIR
  1268.                                                   DIR
  1269.                                                   DIR command. We are
  1270.                upward compatible with DOS in  most ways, but we  could
  1271.                not find a reasonable way  to be compatible with  DOS's
  1272.                inconsistency.  The difference occurs when listing  the
  1273.                contents of a subdirectory.  In InCommand utilities,  a
  1274.                subdirectory _____
  1275.                             entry is specified by  its name without a
  1276.  
  1277.                "\" after  it,  and  the  subdirectory's  ________
  1278.                                                          contents are
  1279.  
  1280.                specified by the subdirectory name with a "\" after it.
  1281.                In DOS,  a  subdirectory  and its  contents  are  often
  1282.                ambiguous because  they use  the same  syntax, and  are
  1283.                inconsistently   interpreted   by   nearly    identical
  1284.                utilities (try it with COPY
  1285.                                       COPY
  1286.                                       COPY and XCOPY
  1287.                                                XCOPY
  1288.                                                XCOPY, for example).
  1289.  
  1290.                Therefore, in the InCommand DI command, if you type
  1291.                     DI SUBDIR
  1292.                     DI SUBDIR
  1293.                     DI SUBDIR
  1294.  
  1295.  
  1296.  
  1297.           InCommand User's Guide                  Syntax Reference    15
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.                you get  a  single  entry for  the  subdirectory  named
  1306.                "SUBDIR":
  1307.                     C:\
  1308.                     SUBDIR           <DIR>      9-23-90  16:10:00
  1309.                       1 directory,  0 files,  0 (0) bytes.
  1310.                       31,922,654 bytes free.
  1311.  
  1312.                To see the ________
  1313.                           contents of this subdirectory, you must add
  1314.  
  1315.                a backslash:
  1316.                     DI SUBDIR\
  1317.                     DI SUBDIR\
  1318.                     DI SUBDIR\
  1319.                     C:\SUBDIR\
  1320.                     CHRIST.MAS            123  12-25-89   4:56:12
  1321.                     YEAR.NEW            2,048   1-01-90   0:00:02
  1322.                     BIRTH.DAY          15,432   1-27-90  22:05:44
  1323.                       3 files,  17,603 (24,576) bytes.
  1324.                       31,922,654 bytes free.
  1325.  
  1326.  
  1327.  
  1328.                               The Wildcards: ?, *, ...
  1329.                               The Wildcards: ?, *, ...
  1330.                               The Wildcards: ?, *, ...
  1331.  
  1332.           First off,  InCommand  accepts  the  standard  DOS  "*
  1333.                                                                *
  1334.                                                                *" and  " ?
  1335.                                                                          ?
  1336.                                                                          ?"
  1337.           wildcards.   The InCommand  "?"  wildcard matches  any  non-blank
  1338.           character.  (The DOS "?" matches blanks, also, but we have found
  1339.           it more useful not  to match blanks.)   For example, to list  all
  1340.           files with two characters in their name, that start with A, type
  1341.  
  1342.                DI A?
  1343.                DI A?
  1344.                DI A?
  1345.  
  1346.           The "*
  1347.                *
  1348.                *" wildcard matches any number of any character (except dot
  1349.           ".
  1350.            .
  1351.            .").  Unlike DOS, you can  specify any number of "*
  1352.                                                              *
  1353.                                                              *" wildcards,
  1354.           and they work  as expected.   Therefore, A*BC*
  1355.                                                    A*BC*
  1356.                                                    A*BC* would match   ABC
  1357.                                                                        ABC
  1358.                                                                        ABC,
  1359.           AXBXBC
  1360.           AXBXBC
  1361.           AXBXBC, and  AXYZBCUV
  1362.                        AXYZBCUV
  1363.                        AXYZBCUV.   Also,  wildcards  are allowed  in  both
  1364.           directory paths and filespecs.  Thus you can type
  1365.  
  1366.                DI ?B*\XYZ
  1367.                DI ?B*\XYZ
  1368.                DI ?B*\XYZ
  1369.           to list all the entries for XYZ in subdirectories with "B" as the
  1370.           second letter.
  1371.  
  1372.           InCommand utilities also  have a  third wildcard,  which is  only
  1373.           allowed for directories. It  is ". . .
  1374.                                            . . .
  1375.                                            . . .", and it means  "this and
  1376.           all subdirectories below  this," or in  other words a  "directory
  1377.           tree".  A directory tree includes  all the subdirectories of  the
  1378.           given directory, and  all their subdirectories,  and so  on.   To
  1379.           list all entries in the current directory tree, type
  1380.  
  1381.  
  1382.  
  1383.           16  Syntax Reference                           Inductive Logic
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.                DI ...   
  1392.                DI ...   
  1393.                DI ...   or   DI ...*.*
  1394.                              DI ...*.*
  1395.                              DI ...*.*
  1396.  
  1397.           You can  only  use  ". .  .
  1398.                                . .  .
  1399.                                . .  ." at  the  end  of a  directory  path
  1400.           specification, but you may follow it with a wildcarded  filename.
  1401.           Thus, to see  all the files  named "X" in  the current  directory
  1402.           tree, type
  1403.  
  1404.                DI ...X
  1405.                DI ...X
  1406.                DI ...X
  1407.  
  1408.           To see  all  the files  with  ".BAT" extensions  in  the  current
  1409.           directory tree, type
  1410.  
  1411.                DI ...*.BAT
  1412.                DI ...*.BAT
  1413.                DI ...*.BAT
  1414.  
  1415.           Notice that  there is  a difference  between ". .  .
  1416.                                                         . .  .
  1417.                                                         . .  ." and  " *\
  1418.                                                                        *\
  1419.                                                                        *\".
  1420.           Whereas  ".  .  .
  1421.                     .  .  .
  1422.                     .  .  ."  includes  the  current  directory,  and  all
  1423.           subdirectories at  any level  below the  current directory,  "*\
  1424.                                                                         *\
  1425.                                                                         *\"
  1426.           does not include  the current directory,  and it  means only  the
  1427.           immediate subdirectories of the current directory, but none below
  1428.           them.  For example, if your directory structure looks like this:
  1429.                TOP\
  1430.                TOP\
  1431.                TOP\
  1432.                   A\
  1433.                   A\
  1434.                   A\
  1435.                      A1\
  1436.                      A1\
  1437.                      A1\
  1438.                      A2\
  1439.                      A2\
  1440.                      A2\
  1441.                   B\
  1442.                   B\
  1443.                   B\
  1444.           If you set your current directory to TOP\, then the filespec ". .
  1445.           .*.*" includes all files  in directories TOP\,  A\, B\, A1\,  and
  1446.           A2\.  The filespec "*\*.*"  includes only files in A\ and B\.
  1447.  
  1448.           For most applications,  the syntax is  pretty intuitive, so  type
  1449.           what you think, and it will probably work.
  1450.  
  1451.  
  1452.  
  1453.                                         Note
  1454.                                         Note
  1455.                                         Note
  1456.  
  1457.                Some file networking software uses  the ". . .
  1458.                                                         . . .
  1459.                                                         . . ." syntax
  1460.                for their own purposes.  Be aware, when using InCommand
  1461.                utilities, the syntax will always be as described here,
  1462.                and ". . .
  1463.                     . . .
  1464.                     . . ." will not have any network meaning.
  1465.  
  1466.                Novell, for example, uses ". . .
  1467.                                           . . .
  1468.                                           . . . " to mean "the  parent
  1469.                of  the  parent."    When  using  InCommand  on  Novell
  1470.                networks, you must  use the DOS  standard syntax of  ".
  1471.                                                                      .
  1472.                                                                      .
  1473.                .\. .
  1474.                .\. .
  1475.                .\. ." for that purpose.
  1476.  
  1477.  
  1478.  
  1479.  
  1480.           InCommand User's Guide                  Syntax Reference    17
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.                                   Implied Wildcards
  1489.                                   Implied Wildcards
  1490.                                   Implied Wildcards
  1491.  
  1492.           For commands which do  not modify files (e.g.  DI), you may  omit
  1493.           the "*
  1494.                *
  1495.                *" wildcard specifier for either names  or extensions.  The
  1496.           omitted  names  or  extensions  are  "implied  wildcards."    For
  1497.           example,
  1498.  
  1499.                DI .BAT
  1500.                DI .BAT
  1501.                DI .BAT  
  1502.                         
  1503.                         is equivalent to  DI *.BAT, 
  1504.                                           DI *.BAT, 
  1505.                                           DI *.BAT, and
  1506.  
  1507.                DI NAME
  1508.                DI NAME
  1509.                DI NAME  
  1510.                         
  1511.                         is equivalent to  DI NAME.*
  1512.                                           DI NAME.*
  1513.                                           DI NAME.*
  1514.  
  1515.           Commands which modify files do not  allow implied wildcards.   So
  1516.           if you want to  delete all files with  .BAT extensions, you  must
  1517.           type
  1518.  
  1519.                IDEL *.BAT
  1520.                IDEL *.BAT
  1521.                IDEL *.BAT
  1522.  
  1523.           Note that directories never have implied wildcards.  If you  want
  1524.           to  include  all  extensions  of  a  directory  name,  you   must
  1525.           explicitly include the ".*
  1526.                                   .*
  1527.                                   .*" wildcard. For example,
  1528.  
  1529.                DI A.*\
  1530.                DI A.*\
  1531.                DI A.*\
  1532.           lists the  contents of  all directories  with  name "A"  and  any
  1533.           extension.
  1534.  
  1535.  
  1536.  
  1537.                              Multiple Wildcard Patterns
  1538.                              Multiple Wildcard Patterns
  1539.                              Multiple Wildcard Patterns
  1540.  
  1541.           Any wildcard-filespec allows multiple wildcard filename patterns.
  1542.           You can only give  a single path specifier,  but you can  include
  1543.           any number of filename patterns  by separating them with  commas.
  1544.           All files in  the specified directories  which match  any
  1545.                                                                 any
  1546.                                                                 any of the
  1547.           wildcard filename patterns will be selected.  For example, to see
  1548.           all the .OBJ and .EXE files in the current directory tree, type
  1549.  
  1550.                DI ...*.OBJ,.EXE
  1551.                DI ...*.OBJ,.EXE
  1552.                DI ...*.OBJ,.EXE         list all the *.OBJ and *.EXE files
  1553.                                         in the current directory tree
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.           18  Syntax Reference                           Inductive Logic
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.                               Wildcard Filespec Summary
  1577.                               Wildcard Filespec Summary
  1578.                               Wildcard Filespec Summary
  1579.  
  1580.  
  1581.                *.X
  1582.                *.X
  1583.                *.X            all entries with any name and extension X
  1584.  
  1585.                .X
  1586.                .X
  1587.                .X             implied wildcard equivalent to *.X  for some
  1588.                               commands
  1589.  
  1590.                N.*
  1591.                N.*
  1592.                N.*            all entries with name N and any extension
  1593.  
  1594.                N
  1595.                N
  1596.                N              implied wildcard equivalent to N.*  for some
  1597.                               commands
  1598.  
  1599.                N.
  1600.                N.
  1601.                N.             all entries with name N and no extension
  1602.  
  1603.  
  1604.  
  1605.                .
  1606.                .
  1607.                .              current directory
  1608.  
  1609.                ..
  1610.                ..
  1611.                ..             parent directory
  1612.  
  1613.                ...
  1614.                ...
  1615.                ...            current directory tree (this and all lower
  1616.                               subdirectories)
  1617.  
  1618.                ...N
  1619.                ...N
  1620.                ...N           N anywhere in the current directory tree
  1621.  
  1622.  
  1623.  
  1624.                D\...
  1625.                D\...
  1626.                D\...          directory tree starting at D (D and all lower
  1627.                               subdirectories)
  1628.  
  1629.                D...
  1630.                D...
  1631.                D...           an abbreviation for "D\. . ."
  1632.  
  1633.  
  1634.  
  1635.                ..X
  1636.                ..X
  1637.                ..X            illegal (same as DOS)
  1638.  
  1639.                ..\X
  1640.                ..\X
  1641.                ..\X           X in parent directory (same as DOS)
  1642.  
  1643.                ..\...X
  1644.                ..\...X
  1645.                ..\...X        X anywhere in directory tree starting at the
  1646.                               parent
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.           InCommand User's Guide                  Syntax Reference    19
  1653.  
  1654.  
  1655.  
  1656.  
  1657.  
  1658.  
  1659.  
  1660.  
  1661.  
  1662.  
  1663.                             Some Subtleties About ". . ."
  1664.                             Some Subtleties About ". . ."
  1665.                             Some Subtleties About ". . ."
  1666.  
  1667.           Unless you're really  serious about all  the details, you  should
  1668.           just skip this section.  We  describe here some subtleties  which
  1669.           we expect  would  only  arise  in  unusual  situations,  such  as
  1670.           computer  programs  which  generate  wildcard  filenames.    Such
  1671.           programs may benefit from knowing the details in this section.
  1672.  
  1673.           Because DOS allows almost any character in a filename, we had  to
  1674.           struggle a bit  to come  up with the  syntax for  ".
  1675.                                                              .
  1676.                                                              . .
  1677.                                                                .
  1678.                                                                . .
  1679.                                                                  .
  1680.                                                                  .".  This
  1681.           leads to some weird  looking cases, namely, four  dots in a  row,
  1682.           and five dots in  a row.  If  you think about  it, four dots  can
  1683.           only be interpreted as dot (the current directory) followed by  3
  1684.           dots (meaning it and all its subdirectories).  This is equivalent
  1685.           to 3 dots, so it isn't very useful.  But it is consistent, so  we
  1686.           allow it.
  1687.  
  1688.           More useful  is 5  dots,  which means  "the  parent and  all  its
  1689.           subdirectories",  so  it   includes  siblings   of  the   current
  1690.           directory.
  1691.  
  1692.  
  1693.  
  1694.                          Weird Cases That We Don't Recommend
  1695.                          Weird Cases That We Don't Recommend
  1696.                          Weird Cases That We Don't Recommend
  1697.  
  1698.  
  1699.                ....X
  1700.                ....X
  1701.                ....X          X in current or any subdirectory (same as
  1702.                               ".\. . . X")
  1703.  
  1704.                .....X
  1705.                .....X
  1706.                .....X         X in parent or any of its subdirectories
  1707.                               (same as ". .\. . . X")
  1708.  
  1709.  
  1710.  
  1711.                                 Destination Filespecs
  1712.                                 Destination Filespecs
  1713.                                 Destination Filespecs
  1714.  
  1715.  
  1716.           Some commands require  2 filespecs:   a "source"  filespec and  a
  1717.           "destination" filespec.  For  example, ICOPY reads source  files,
  1718.           and creates  destination  files.   The  source  filespec is  any
  1719.           wildcard-filespec   and   optional   file   selection   modifiers
  1720.           (described later).  A destination-filespec can be as simple as a
  1721.           filename, or it may contain wildcards.  The  destination-filespec
  1722.  
  1723.  
  1724.  
  1725.           20  Syntax Reference                           Inductive Logic
  1726.  
  1727.  
  1728.  
  1729.  
  1730.  
  1731.  
  1732.  
  1733.           wildcards are "?" and "*", just as in DOS.  A question mark in  a
  1734.           destination-filespec is  replaced by  the character  in the  same
  1735.           position of the source filespec.  For example,
  1736.  
  1737.                ICOPY ABC.DEF ?X?.Y?Z
  1738.                ICOPY ABC.DEF ?X?.Y?Z
  1739.                ICOPY ABC.DEF ?X?.Y?Z         destination file is AXC.YEZ.
  1740.  
  1741.           Unlike wildcard-filespecs, a "*"  wildcard in a destination  must
  1742.           be the last character in the filename (or in the extension).  The
  1743.           "*" character in the destination filespec will be replaced by all
  1744.           the remaining characters of the name (or extension) of the source
  1745.           file.  For example,
  1746.  
  1747.                MOVE NAME.EXT X*.*
  1748.                MOVE NAME.EXT X*.*
  1749.                MOVE NAME.EXT X*.*            destination file is XAME.EXT.
  1750.           The destination filespec may not include any directory wildcards.
  1751.           However, it may specify a directory path.
  1752.  
  1753.           If the destination  filename is  omitted, it  defaults to  "*.*".
  1754.           This means that if you specify  a destination directory and  omit
  1755.           the  filename,  it  is  equivalent  to  specifying  *.*  for  the
  1756.           filename.
  1757.  
  1758.           When the source filespec includes  subdirectory wildcards  (i.e.
  1759.           uses ". . ." , "*", or "?"), the destination directory path  will
  1760.           replicate the  source  directory tree.    This is  as  you  would
  1761.           expect, for  example,  for  copying directory  trees.    You can
  1762.           override this feature with the /FLATTEN modifier.  With /FLATTEN,
  1763.           the destination directory is  the single directory you  specified
  1764.           (thus "flattening" the source directory structure).
  1765.  
  1766.  
  1767.  
  1768.                                   Command Modifiers
  1769.                                   Command Modifiers
  1770.                                   Command Modifiers
  1771.  
  1772.           Most commands  accept modifiers  which alter  their operation  in
  1773.           some  way.      These  command  modifiers  are  used  to   select
  1774.           specialized features  of the  commands.   There  are 2  kinds  of
  1775.           modifiers: keyword modifiers
  1776.                      keyword modifiers
  1777.                      keyword modifiers (/BEFORE, /SINCE,  /ON,  etc.)  and
  1778.           attribute modifiers 
  1779.           attribute modifiers 
  1780.           attribute modifiers (+ADVSHR, -ADVSHR).
  1781.  
  1782.           Some modifiers (+ADVSHR, -ADVSHR, /EXCLUDE, /BEFORE, /SINCE, /ON,
  1783.           /BIGGER, and /SMALLER) are used with wildcard filespecs to select
  1784.           files.  Therefore, any command which accepts a  wildcard-filespec
  1785.           also accepts these modifiers.  When you specify more than one  of
  1786.           these file  selection modifiers,  a file  must match  all
  1787.                                                                 all
  1788.                                                                 all of  the
  1789.           given modifiers to be selected.  These modifiers are described in
  1790.           detail in the following sections.
  1791.  
  1792.  
  1793.  
  1794.           InCommand User's Guide                  Syntax Reference    21
  1795.  
  1796.  
  1797.  
  1798.  
  1799.  
  1800.  
  1801.  
  1802.  
  1803.           Other modifiers are specific to  each command, and are  described
  1804.           with the commands in the Utility Reference.
  1805.  
  1806.  
  1807.  
  1808.                                   Keyword Modifiers
  1809.                                   Keyword Modifiers
  1810.                                   Keyword Modifiers
  1811.  
  1812.           The keyword modifiers are words that invoke a specific feature of
  1813.           the command.  Keyword modifiers always start with a "/", and  may
  1814.           be given in  any order.   They may always  be abbreviated to  the
  1815.           minimum length required to  uniquely distinguish them from  other
  1816.           keyword modifiers in the same command.  Because keyword modifiers
  1817.           begin with a  "/", they do  not need to  be separated by  spaces.
  1818.           For example, the following command is valid:
  1819.  
  1820.                DI/BYTIME *.BAK/NOPAGE/SINCE:8:00
  1821.                DI/BYTIME *.BAK/NOPAGE/SINCE:8:00
  1822.                DI/BYTIME *.BAK/NOPAGE/SINCE:8:00
  1823.                                         list all files with .BAK
  1824.                                         extensions, that were last modified
  1825.                                         after 8:00 am this morning, sorted
  1826.                                         by time, with no screen pause
  1827.  
  1828.           Notice that some keyword  modifiers accept parameters after  them
  1829.           (e.g., /ON takes a  date, /EXCLUDE takes a  filename).  We use  a
  1830.           colon ":" or an "=" to separate the modifier from its  parameter.
  1831.           You might think  other characters would  be more  natural than  a
  1832.           ":", and you'd be right.  However, DOS changes some characters on
  1833.           the  command  line  before  passing  them  to  batch  files   (in
  1834.           particular, DOS changes "=" into a  space).  The colon is a  safe
  1835.           character which DOS doesn't mess with, so we use it.  But the "="
  1836.           is more natural, so we allow it also.  For example,
  1837.  
  1838.                DI /SINCE=MONDAY  
  1839.                DI /SINCE=MONDAY  
  1840.                DI /SINCE=MONDAY  is equivalent to      DI /SINCE:MONDAY
  1841.                                                        DI /SINCE:MONDAY
  1842.                                                        DI /SINCE:MONDAY
  1843.  
  1844.           Note also that when  the colon isn't  needed to clearly  separate
  1845.           letters, you  can  omit  it,  as  shown  below  in  the  modifier
  1846.           descriptions.
  1847.  
  1848.  
  1849.  
  1850.                           Exclude Files Modifier (/EXCLUDE)
  1851.                           Exclude Files Modifier (/EXCLUDE)
  1852.                           Exclude Files Modifier (/EXCLUDE)
  1853.  
  1854.  
  1855.  
  1856.  
  1857.  
  1858.  
  1859.  
  1860.  
  1861.           22  Syntax Reference                           Inductive Logic
  1862.  
  1863.  
  1864.  
  1865.  
  1866.  
  1867.  
  1868.  
  1869.           In commands where you specify  a wildcard-filespec, you can  also
  1870.           exclude a file or set of files from being selected.    The syntax
  1871.           of the /EXCLUDE modifier is
  1872.  
  1873.                /EXCLUDE:
  1874.                /EXCLUDE:
  1875.                /EXCLUDE:wildcard-namespec
  1876.           Note that  a wildcard-name
  1877.                                 name
  1878.                                 namespec is  not the  same as  a  wildcard-
  1879.           file
  1880.           file
  1881.           filespec.  In the wildcard-namespec, you can specify a name, but
  1882.           not a directory path.  The name can include any of the  InCommand
  1883.           wildcards, and "*" wildcards are always
  1884.                                            always
  1885.                                            always implied if only a name or
  1886.           only an extension is given.  As with wildcard-filespecs, you  can
  1887.           give multiple wildcard patterns separated  by commas.  This  will
  1888.           exclude any file which matches any
  1889.                                          any
  1890.                                          any of the patterns.
  1891.  
  1892.           For example,  to obtain  a  listing of  all  the entries  in  the
  1893.           current directory,  except those  with .OBJ  or .EXE  extensions,
  1894.           type
  1895.  
  1896.                DI /EXCLUDE:.OBJ,.EXE
  1897.                DI /EXCLUDE:.OBJ,.EXE
  1898.                DI /EXCLUDE:.OBJ,.EXE         (same as DI
  1899.                                                       DI
  1900.                                                       DI
  1901.                                         /EXCLUDE:*.OBJ,*.EXE)
  1902.                                         /EXCLUDE:*.OBJ,*.EXE)
  1903.                                         /EXCLUDE:*.OBJ,*.EXE)
  1904.  
  1905.           To copy all  files from the  current directory  to the  directory
  1906.           NEWDIR\ except the files HERE.*, type
  1907.  
  1908.                ICOPY *.* NEWDIR\ /EX:HERE
  1909.                ICOPY *.* NEWDIR\ /EX:HERE
  1910.                ICOPY *.* NEWDIR\ /EX:HERE
  1911.  
  1912.  
  1913.  
  1914.                        Date/Time Syntax (/BEFORE, /SINCE, /ON)
  1915.                        Date/Time Syntax (/BEFORE, /SINCE, /ON)
  1916.                        Date/Time Syntax (/BEFORE, /SINCE, /ON)
  1917.  
  1918.           InCommand allows you to select files based on their  modification
  1919.           times.  You can enter dates  and times in either of two  formats:
  1920.           full date/time, or  day-of-week.   The full  date/time syntax  is
  1921.           this:
  1922.  
  1923.                [:]MM-DD[-YY]:HH:MM[:SS]
  1924.                [:]MM-DD[-YY]:HH:MM[:SS]
  1925.                [:]MM-DD[-YY]:HH:MM[:SS]
  1926.  
  1927.           You must use 24-hour time.  Either the date, or time, or both may
  1928.           be omitted.   The  default date  is the  current date.   You  may
  1929.           specify the month and day, and  omit the year.  The default  time
  1930.           is 0:00:00 (the start of the  given day).  You may specify  hours
  1931.           and minutes, and optionally, seconds.
  1932.  
  1933.           There are  3  file selection  modifiers  that use  the  date/time
  1934.           syntax: /BEFORE, /SINCE, and /ON.  The /BEFORE  modifier  selects
  1935.           files that were modified before the given date/time.  The  /SINCE
  1936.           modifier selects files  that were modified  on or  after a  given
  1937.  
  1938.  
  1939.  
  1940.           InCommand User's Guide                  Syntax Reference    23
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.           date/time.  The /ON modifier selects files that were modified  in
  1949.           a 24  hour period  starting  at the  given  date/time.   The  /ON
  1950.           modifier is typically used to select files which were modified on
  1951.           a given  day (in  which case  you specify  the day  and omit  the
  1952.           time). However, the /ON  modifier does not restrict  you to a  24
  1953.           hour period beginning at midnight.
  1954.  
  1955.           _________
  1956.           Examples:
  1957.           _________
  1958.           Examples:
  1959.           _________
  1960.           Examples:
  1961.  
  1962.  
  1963.                /SINCE
  1964.                /SINCE
  1965.                /SINCE                   files modified today
  1966.  
  1967.                /SINCE9-23  
  1968.                /SINCE9-23  
  1969.                /SINCE9-23  or
  1970.                            or
  1971.                            or
  1972.  
  1973.                /SINCE:9-23
  1974.                /SINCE:9-23
  1975.                /SINCE:9-23              files modified on or after
  1976.                                         September 23 of this year at
  1977.                                         0:00:00
  1978.  
  1979.                /BEFORE:9-5-89
  1980.                /BEFORE:9-5-89
  1981.                /BEFORE:9-5-89           files modified before September 5,
  1982.                                         1989 at 0:00:00
  1983.  
  1984.                /ON9-5
  1985.                /ON9-5
  1986.                /ON9-5                   files modified on September 5 of
  1987.                                         this year
  1988.  
  1989.                /ON:10-18:11:30
  1990.                /ON:10-18:11:30
  1991.                /ON:10-18:11:30          files modified during the 24 hour
  1992.                                         period starting on October 18 of
  1993.                                         this year at 11:30 AM
  1994.  
  1995.                /BEFORE16:10  
  1996.                /BEFORE16:10  
  1997.                /BEFORE16:10  or
  1998.                              or
  1999.                              or
  2000.  
  2001.                /BEFORE:16:10
  2002.                /BEFORE:16:10
  2003.                /BEFORE:16:10            files modified before 4:10 PM today
  2004.  
  2005.                /BE:1-1-90 /SI:12-1-89
  2006.                /BE:1-1-90 /SI:12-1-89
  2007.                /BE:1-1-90 /SI:12-1-89   files modified in December, 1989.
  2008.  
  2009.           Notice that you can specify both  /BEFORE 
  2010.                                             /BEFORE 
  2011.                                             /BEFORE and /SINCE 
  2012.                                                         /SINCE 
  2013.                                                         /SINCE to select a
  2014.           time interval.   Also,  note that  DOS records  file times  in  2
  2015.           second increments.  If you specify  an odd number of seconds,  it
  2016.           is truncated  to the  next  lower multiple  of  2 seconds.    For
  2017.           example, 10:00:03
  2018.                    10:00:03
  2019.                    10:00:03 is equivalent to 10:00:02
  2020.                                              10:00:02
  2021.                                              10:00:02.
  2022.  
  2023.           Alternatively, you can  use days  of the  week (Monday,  Tuesday,
  2024.           etc.) instead of a date (Month-Day-Year):
  2025.                :DAY[:]HH:MM[:SS]
  2026.                :DAY[:]HH:MM[:SS]
  2027.                :DAY[:]HH:MM[:SS]
  2028.           Again, you  must  use 24  hour  time.   The  day is  one  of  the
  2029.           following (and may  be abbreviated  to that  shown in  capitals):
  2030.  
  2031.  
  2032.  
  2033.  
  2034.           24  Syntax Reference                           Inductive Logic
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.           Monday,  TUesday,  Wednesday,  THursday,  Friday,  SAturday,   or
  2043.           SUnday.  If only a day is given, the time defaults to 00:00:00.
  2044.  
  2045.           _________
  2046.           Examples:
  2047.           _________
  2048.           Examples:
  2049.           _________
  2050.           Examples:
  2051.  
  2052.  
  2053.                /SINCE:Tuesday
  2054.                /SINCE:Tuesday
  2055.                /SINCE:Tuesday           files modified since last Tuesday
  2056.  
  2057.                /BEFORE:Sun:9:00
  2058.                /BEFORE:Sun:9:00
  2059.                /BEFORE:Sun:9:00         files modified before last Sunday
  2060.                                         at 9:00 am
  2061.  
  2062.                /ON:M
  2063.                /ON:M
  2064.                /ON:M                    files modified on Monday
  2065.  
  2066.                /ON:Th:10:00
  2067.                /ON:Th:10:00
  2068.                /ON:Th:10:00             files modified during the 24 hour
  2069.                                         period starting at 10:00am last
  2070.                                         Thursday
  2071.  
  2072.           Note that if today is Monday,  then MONDAY
  2073.                                               MONDAY
  2074.                                               MONDAY 
  2075.                                                      
  2076.                                                      refers to 7 days ago.
  2077.           You can  specify "today"  by omitting  the date  completely  (and
  2078.           optionally specifying a time).  For example,
  2079.  
  2080.                /BEFORE
  2081.                /BEFORE
  2082.                /BEFORE                  files modified before 0:00:00 today
  2083.  
  2084.  
  2085.  
  2086.                        File Size Modifiers (/BIGGER, /SMALLER)
  2087.                        File Size Modifiers (/BIGGER, /SMALLER)
  2088.                        File Size Modifiers (/BIGGER, /SMALLER)
  2089.  
  2090.           InCommand also allows you  to select files  based on their  size.
  2091.           There are two  modifiers that you  use to select  files by  size:
  2092.           /BIGGER and /SMALLER.  /BIGGER is  used to select files that  are
  2093.           bigger than or  equal to  the given size.   /SMALLER  is used  to
  2094.           select files that are  smaller than or equal  to the given  size.
  2095.           The syntax for these modifiers is shown below:
  2096.  
  2097.                /BIGGER[:]
  2098.                /BIGGER[:]
  2099.                /BIGGER[:]size   
  2100.                                 
  2101.                                 and   /SMALLER[:]
  2102.                                       /SMALLER[:]
  2103.                                       /SMALLER[:]size
  2104.           The file size is in bytes.
  2105.  
  2106.           _________
  2107.           Examples:
  2108.           _________
  2109.           Examples:
  2110.           _________
  2111.           Examples:
  2112.  
  2113.  
  2114.                /BIGGER:100
  2115.                /BIGGER:100
  2116.                /BIGGER:100              files bigger than or equal to 100
  2117.                                         bytes
  2118.  
  2119.                /SMALLER:100000
  2120.                /SMALLER:100000
  2121.                /SMALLER:100000          files smaller than or equal to
  2122.                                         100,000 bytes
  2123.  
  2124.  
  2125.  
  2126.  
  2127.           InCommand User's Guide                  Syntax Reference    25
  2128.  
  2129.  
  2130.  
  2131.  
  2132.  
  2133.  
  2134.  
  2135.                /BI:30 /SM:40
  2136.                /BI:30 /SM:40
  2137.                /BI:30 /SM:40            files bigger than or equal to 30
  2138.                                         bytes and less than or equal to 40
  2139.                                         bytes
  2140.           Notice that you can use /BIGGER and /SMALLER together to select a
  2141.           size interval.
  2142.  
  2143.  
  2144.  
  2145.                                  Attribute Modifiers
  2146.                                  Attribute Modifiers
  2147.                                  Attribute Modifiers
  2148.  
  2149.           Attribute modifiers are used to select files (or other  directory
  2150.           entries) based on  their attributes.   Attribute modifiers  start
  2151.           with  "+
  2152.                  +
  2153.                  +"  or  "-
  2154.                           -
  2155.                           -",  and  specify  some  combination  of  the  6
  2156.           attributes:
  2157.                A=needs-archiving             S=system
  2158.                D=subdirectory                H=hidden
  2159.                V=volume-label                R=read-only
  2160.  
  2161.           The attributes may be given in  any order (e.g., +SH is the  same
  2162.           as +HS).  The  "+" modifier tells  InCommand utilities to  select
  2163.           only those files which have at least one of the given attributes.
  2164.           The "-" modifier  says to  exclude files  which have  any of  the
  2165.           given attributes.  As an example,
  2166.  
  2167.                DI +D
  2168.                DI +D
  2169.                DI +D
  2170.           displays only the subdirectory entries of the current directory.
  2171.  
  2172.           Both "+"  and "-"  modifiers can  be used  together in  a  single
  2173.           command, but they cannot conflict.  For example,
  2174.  
  2175.                DI *.* +SH -R
  2176.                DI *.* +SH -R
  2177.                DI *.* +SH -R
  2178.           displays all files with either  the System or Hidden  attributes,
  2179.           but not the Read-only attribute.
  2180.  
  2181.           Unlike keyword modifiers, attribute modifiers must be preceded by
  2182.                                     attribute modifiers must be preceded by
  2183.                                     attribute modifiers must be preceded by
  2184.           a space
  2185.           a space
  2186.           a space (because the "+"  and "-" characters are  valid in other
  2187.           contexts).   Also, because  DOS allows  the  "-" character  in  a
  2188.           filename, filenames which begin with  the "-" character could  be
  2189.           confused with  the  "-"  attribute modifier.    We  resolve  this
  2190.           ambiguity the same way  DOS does (though  this is not  documented
  2191.           for DOS).  When you enter a filespec which starts with a "-", you
  2192.           must include  an extension  (i.e., it  must have  a "."  in  it).
  2193.           Without an  extension, it  will be  interpreted as  an  attribute
  2194.           modifier, and probably generate  an error.  If  you want no  file
  2195.           extension, you must end the filename with the "." character.   If
  2196.  
  2197.  
  2198.  
  2199.  
  2200.           26  Syntax Reference                           Inductive Logic
  2201.  
  2202.  
  2203.  
  2204.  
  2205.  
  2206.  
  2207.  
  2208.           you want  a  wildcard  file extension,  then  you  must  type  it
  2209.           explicitly as  "filename.*".  For example,
  2210.  
  2211.                DI AB
  2212.                DI AB
  2213.                DI AB                    display files named "AB" with any
  2214.  
  2215.                                         extension (same as AB.*)
  2216.                DI -B
  2217.                DI -B
  2218.                DI -B                    is illegal because "B" is not a
  2219.                                         valid attribute
  2220.                DI -B.
  2221.                DI -B.
  2222.                DI -B.                   display files named "-B" with no
  2223.                                         extension
  2224.                DI -B.*
  2225.                DI -B.*
  2226.                DI -B.*                  display files named "-B" with any
  2227.                                         extension
  2228.  
  2229.  
  2230.  
  2231.                                System and Hidden Files
  2232.                                System and Hidden Files
  2233.                                System and Hidden Files
  2234.  
  2235.           Advanced users will  occasionally need  to work  with System  and
  2236.           Hidden files (files with either the System or Hidden attributes).
  2237.           Because it  may  be dangerous  to  include these  files  in  some
  2238.           operations, some  InCommand utilities  will  not select  them  by
  2239.           default (just  like  some  DOS utilities).    Usually,  InCommand
  2240.           utilities which modify the selected files will not select  System
  2241.           or Hidden files by default.  To operate on those files, you  must
  2242.           explicitly use the +S  or +H (or +SH)  attribute modifier.   Note
  2243.           that specifying this modifier will then select only files with at
  2244.           least one of the given attributes;  other (normal) files will not
  2245.           be selected.  This means that for those InCommand utilities  that
  2246.           do not select System or Hidden files by default, there is no  way
  2247.           to select normal ___
  2248.                            and System or Hidden files in a single command.
  2249.  
  2250.           If you want to operate on both  kinds of files, you must issue  2
  2251.           commands: one  with a  +SH modifier,  and one  without it.    For
  2252.           example, to delete all files in a directory, including System and
  2253.           Hidden files, type
  2254.  
  2255.                IDEL *.*
  2256.                IDEL *.*
  2257.                IDEL *.*
  2258.  
  2259.                IDEL *.* +SH
  2260.                IDEL *.* +SH
  2261.                IDEL *.* +SH
  2262.  
  2263.           The utilities which select System and Hidden files by default are
  2264.           DI and CHATT.  All other commands do not select System and Hidden
  2265.           files by default .
  2266.  
  2267.  
  2268.  
  2269.  
  2270.  
  2271.  
  2272.           InCommand User's Guide                  Syntax Reference    27
  2273.  
  2274.  
  2275.  
  2276.  
  2277.  
  2278.  
  2279.  
  2280.                                      Exit Codes
  2281.                                      Exit Codes
  2282.                                      Exit Codes
  2283.  
  2284.           Many of the InCommand utilities are  very useful in batch  files.
  2285.           We have designed  all utilities to  return one  of the  following
  2286.           general purpose exit codes:
  2287.  
  2288.                0    Normal         Successful execution, nothing of note
  2289.                                    occurred
  2290.                1    Information    Successful execution, with additional
  2291.                                    information given to user
  2292.                2    Warning        Successful execution, but may have
  2293.                                    produced unexpected result
  2294.                3    Error          An error occurred, though some
  2295.                                    processing may have been successful
  2296.                4    Fatal Error    Syntax error, or command failed. Nothing
  2297.                                    done
  2298.  
  2299.           After command execution  in a batch  file, the exit  code may  be
  2300.           tested with the DOS IF [NOT] ERRORLEVEL 
  2301.                               IF [NOT] ERRORLEVEL 
  2302.                               IF [NOT] ERRORLEVEL  commands, so that batch
  2303.           files may be programmed to respond to exit codes.  For example, a
  2304.           batch file can test if an ICOPY is successful with this:
  2305.  
  2306.                ICOPY *.EXE SOMEWHER\
  2307.                ICOPY *.EXE SOMEWHER\
  2308.                ICOPY *.EXE SOMEWHER\
  2309.                IF ERRORLEVEL 3 ECHO The copy failed
  2310.                IF ERRORLEVEL 3 ECHO The copy failed
  2311.                IF ERRORLEVEL 3 ECHO The copy failed
  2312.  
  2313.  
  2314.  
  2315.  
  2316.  
  2317.  
  2318.  
  2319.  
  2320.  
  2321.  
  2322.  
  2323.  
  2324.  
  2325.  
  2326.  
  2327.  
  2328.  
  2329.  
  2330.  
  2331.  
  2332.  
  2333.  
  2334.  
  2335.  
  2336.  
  2337.           28  Syntax Reference                           Inductive Logic
  2338.  
  2339.  
  2340.  
  2341.  
  2342.  
  2343.  
  2344.  
  2345.  
  2346.  
  2347.  
  2348.                                                           UTILITY REFERENCE
  2349.                                                           UTILITY REFERENCE
  2350.                                                           UTILITY REFERENCE
  2351.  
  2352.  
  2353.  
  2354.  
  2355.  
  2356.                                                                       CHATT
  2357.                                                                       CHATT
  2358.                                                                       CHATT
  2359.  
  2360.  
  2361.           CHATT  [+ASHR]  [-ASHR]  
  2362.           CHATT  [+ASHR]  [-ASHR]  
  2363.           CHATT  [+ASHR]  [-ASHR]  wildcard-filespec
  2364.  
  2365.           Changes file attributes
  2366.  
  2367.  
  2368.  
  2369.           __________
  2370.           Modifiers:
  2371.           __________
  2372.           Modifiers:
  2373.           __________
  2374.           Modifiers:
  2375.  
  2376.  
  2377.                +ASHR          Select only files with any of the given
  2378.                               attributes.  System and Hidden files are
  2379.                               selected by default  See text for an
  2380.                               important distinction between this modifier
  2381.                               and the attributes to be changed.
  2382.  
  2383.                -ASHR          Do not select files with any of the given
  2384.                               attributes
  2385.  
  2386.                /BEFORE[:date:time] Select files modified before a given
  2387.                               time
  2388.  
  2389.                /SINCE[:date:time]  Select files modified on or after a
  2390.                               given time
  2391.  
  2392.                /ON[:date:time]     Select files modified in the 24 hour
  2393.                               period beginning with the given time
  2394.  
  2395.                /BIGGER[:size] Select files bigger than (or equal to) the
  2396.                               given size
  2397.  
  2398.                /SMALLER[:size]     Select files smaller than (or equal to)
  2399.                               the given size
  2400.  
  2401.                /EXCLUDE:namespec   Do not select files which match the
  2402.                               wildcard-namespec
  2403.  
  2404.                /NOLIST        Do not list filenames and their new
  2405.                               attributes
  2406.  
  2407.           ___________
  2408.           Exit codes:
  2409.           ___________
  2410.           Exit codes:
  2411.           ___________
  2412.           Exit codes:
  2413.  
  2414.                0    Normal         All specified files' attributes changed
  2415.                2    Warning        No files match specifications
  2416.                3    Error          One or more files changed attributes,
  2417.                                    and one or more files attempted could
  2418.                                    not be changed
  2419.  
  2420.  
  2421.  
  2422.           InCommand User's Guide                 Utility Reference    31
  2423.  
  2424.  
  2425.  
  2426.  
  2427.           CHATT
  2428.           CHATT
  2429.           CHATT
  2430.  
  2431.  
  2432.                4    Fatal Error    Syntax error, or no specified files
  2433.                                    could have attributes changed
  2434.  
  2435.           Files can be given any of the 4 file attributes:
  2436.  
  2437.                A Needs archiving.  Usually used to indicate file has
  2438.                               changed since last backed up.
  2439.  
  2440.                S System file. Used for operating system boot files.  System
  2441.                               attribute implies Hidden.
  2442.  
  2443.                H Hidden.      Used for operating system files.  DOS
  2444.                               utilities do not find them in wildcard
  2445.                               searches, and they are not listed by the DOS
  2446.                               DIR command.  Some InCommand utilities do not
  2447.                               process System or Hidden files by default,
  2448.                               but DI will list them.
  2449.  
  2450.                R Read-only.   File may not be written to or deleted.  Use
  2451.                               this to protect files from accidental
  2452.                               destruction.
  2453.  
  2454.           CHATT has a somewhat unusual syntax  because it needs to  specify
  2455.           file attributes for  2 different  things: first,  you tell  CHATT
  2456.           which attributes  to  add or  remove  from the  specified  files;
  2457.           second, you have the  normal file selection attribute  modifiers.
  2458.           Notice that you specify the attributes you want added or  deleted
  2459.           before
  2460.           before
  2461.           before the wildcard-filespec, as in the DOS ATTRIB command.   The
  2462.           attribute modifiers  after
  2463.                                after
  2464.                                after the  wildcard-filespec  select  which
  2465.           files will have  their attributes modified  (as in all  InCommand
  2466.           file selections).  They  do not specify how  a file's attributes
  2467.           will be changed.
  2468.  
  2469.           By default CHATT lists  the files and  their new attributes  when
  2470.           they are changed.  If you do not want the files to be listed when
  2471.           their attributes are changed then specify /NOLIST
  2472.                                                     /NOLIST
  2473.                                                     /NOLIST.
  2474.  
  2475.           Notice that System and Hidden files are selected by default.  If
  2476.           you do not want to process them, you must explicitly exclude them
  2477.           with the -SH modifier after
  2478.                                 after
  2479.                                 after the wildcard-filespec.
  2480.  
  2481.           Files may not be  given the +D (directory)  or +V (volume  label)
  2482.           attributes, nor may these attributes be removed from  directories
  2483.           or volume labels.
  2484.  
  2485.  
  2486.  
  2487.  
  2488.  
  2489.           32   Utility Reference                         Inductive Logic
  2490.  
  2491.  
  2492.  
  2493.  
  2494.                                                                       CHATT
  2495.                                                                       CHATT
  2496.                                                                       CHATT
  2497.  
  2498.  
  2499.           _________
  2500.           Examples:
  2501.           _________
  2502.           Examples:
  2503.           _________
  2504.           Examples:
  2505.  
  2506.  
  2507.           To set  the  Archive  attribute for  all  files  in  the  current
  2508.           directory which were modified today, type
  2509.                CHATT +A *.*/SINCE
  2510.                CHATT +A *.*/SINCE
  2511.                CHATT +A *.*/SINCE
  2512.  
  2513.           To set the Read-only attribute for  all of the .C and .DOC  files
  2514.           in the current directory that  were last modified before  January
  2515.           1, 1991, type
  2516.                CHATT +R *.C,*.DOC /BE:1-1-91
  2517.                CHATT +R *.C,*.DOC /BE:1-1-91
  2518.                CHATT +R *.C,*.DOC /BE:1-1-91
  2519.  
  2520.           To set the System attribute on all files in the current directory
  2521.           tree which have the Hidden attribute, type
  2522.  
  2523.                CHATT +S ...*.* +H
  2524.                CHATT +S ...*.* +H
  2525.                CHATT +S ...*.* +H
  2526.  
  2527.           To set  the  Archive  attribute for  all  files  in  the  current
  2528.           directory except files with the .OBJ and .EXE extensions, type
  2529.                CHATT +A *.* /EXCLUDE:.EXE,.OBJ
  2530.                CHATT +A *.* /EXCLUDE:.EXE,.OBJ
  2531.                CHATT +A *.* /EXCLUDE:.EXE,.OBJ
  2532.  
  2533.           To set  the  Archive  attribute for  all  files  in  the  current
  2534.           directory with  two character  file names  and  A as  the  second
  2535.           character, and any extension, type
  2536.                CHATT +A ?A.*
  2537.                CHATT +A ?A.*
  2538.                CHATT +A ?A.*
  2539.  
  2540.  
  2541.  
  2542.  
  2543.  
  2544.  
  2545.  
  2546.  
  2547.  
  2548.  
  2549.  
  2550.  
  2551.  
  2552.  
  2553.  
  2554.  
  2555.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.           InCommand User's Guide                 Utility Reference    33
  2564.  
  2565.  
  2566.  
  2567.  
  2568.           DAYTIME
  2569.           DAYTIME
  2570.           DAYTIME
  2571.  
  2572.  
  2573.           DAYTIME
  2574.           DAYTIME
  2575.           DAYTIME
  2576.  
  2577.           Prints the current day of the week, date, and time, or timestamps
  2578.           a message
  2579.  
  2580.  
  2581.  
  2582.           __________
  2583.           Modifiers:
  2584.           __________
  2585.           Modifiers:
  2586.           __________
  2587.           Modifiers:
  2588.  
  2589.  
  2590.                None
  2591.  
  2592.           ___________
  2593.           Exit codes:
  2594.           ___________
  2595.           Exit codes:
  2596.           ___________
  2597.           Exit codes:
  2598.  
  2599.                0    Normal
  2600.  
  2601.           When typed at the keyboard, DAYTIME simply prints the day of  the
  2602.           week, date, and time.
  2603.  
  2604.           DAYTIME has another feature intended for advanced users.  DAYTIME
  2605.           behaves slightly  differently when  you pipe  to it  or  redirect
  2606.           input to it  (i.e., stdin is  not the keyboard).   In this  case,
  2607.           DAYTIME reads a line from stdin, and prints one line,  consisting
  2608.           of the day of the week, date, and time followed by the line  read
  2609.           from stdin.
  2610.  
  2611.           _________
  2612.           Examples:
  2613.           _________
  2614.           Examples:
  2615.           _________
  2616.           Examples:
  2617.  
  2618.  
  2619.           DAYTIME is most useful for timestamping things from a batch file.
  2620.           For example, to automatically  record every time  that you run  a
  2621.           batch file, put this line in the file:
  2622.                DAYTIME >>BATRECRD.DAT
  2623.                DAYTIME >>BATRECRD.DAT
  2624.                DAYTIME >>BATRECRD.DAT
  2625.  
  2626.           This will append a line containing  the current date and time  to
  2627.           the file BATRECRD.DAT.
  2628.  
  2629.           To record when the  batch file was run,  and its first  parameter
  2630.           for that run, include this line in the file:
  2631.                ECHO %1 | DAYTIME >>BATRECRD.DAT
  2632.                ECHO %1 | DAYTIME >>BATRECRD.DAT
  2633.                ECHO %1 | DAYTIME >>BATRECRD.DAT
  2634.  
  2635.           ECHO will  pipe in  the first  batch file  parameter to  DAYTIME.
  2636.           DAYTIME will  concatenate this  string to  the current  date  and
  2637.           time, and append this line to BATRECRD.DAT.
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643.           34   Utility Reference                         Inductive Logic
  2644.  
  2645.  
  2646.  
  2647.  
  2648.                                                                       DHELP
  2649.                                                                       DHELP
  2650.                                                                       DHELP
  2651.  
  2652.  
  2653.           DHELP  [
  2654.           DHELP  [
  2655.           DHELP  [topic]
  2656.                        ]
  2657.                        ]
  2658.  
  2659.           Interactive help for DOS
  2660.  
  2661.  
  2662.  
  2663.           __________
  2664.           Modifiers:
  2665.           __________
  2666.           Modifiers:
  2667.           __________
  2668.           Modifiers:
  2669.  
  2670.  
  2671.                None
  2672.  
  2673.           ___________
  2674.           Exit codes:
  2675.           ___________
  2676.           Exit codes:
  2677.           ___________
  2678.           Exit codes:
  2679.  
  2680.                0    Normal         Successfully executed
  2681.                4    Fatal Error    Utilities not installed properly or not
  2682.                                    enough memory
  2683.  
  2684.           DHELP is a quick reference  for DOS commands.   It is not a  full
  2685.           tutorial, and is most helpful for users familiar with DOS basics.
  2686.           Currently, DHELP applies to  DOS version 4.01.   Note that  DHELP
  2687.           includes several clarifications and  corrections to the  standard
  2688.           DOS documentation.   DHELP  for other  versions  of DOS  will  be
  2689.           released soon.
  2690.  
  2691.           DHELP is a fast,  self-explanatory, interactive help utility  for
  2692.           DOS.  DHELP saves the entire screen on entry, and restores it  on
  2693.           exit, so that  you can  pick up right  where you  left off  after
  2694.           getting help.  For more information, just type
  2695.                DHELP
  2696.                DHELP
  2697.                DHELP
  2698.  
  2699.           and follow the directions that appear.
  2700.  
  2701.           If you know what topic  you want help on,  you can jump right  to
  2702.           that topic by including it on  the command line with DHELP.   For
  2703.           example,
  2704.                DHELP DIR
  2705.                DHELP DIR
  2706.                DHELP DIR           display help on the DIR command
  2707.  
  2708.           If the topic you want help on has spaces in it, then enclose  the
  2709.           topic in double quotes. For example,
  2710.                DHELP "MODE PRINT"
  2711.                DHELP "MODE PRINT"
  2712.                DHELP "MODE PRINT"  display help on MODE PRINTER commands
  2713.  
  2714.           A prompt  bar at  the  bottom of  the  screen gives  you  context
  2715.           sensitive help by listing the valid keystrokes at all times.  Use
  2716.           the <up>, <down>, <PgUp>, <PgDn>, <End> and <Home> keys to move
  2717.           around in the help text.  To exit DHELP, press <ESC>, Q, or q.
  2718.  
  2719.  
  2720.  
  2721.  
  2722.           InCommand User's Guide                 Utility Reference    35
  2723.  
  2724.  
  2725.  
  2726.  
  2727.           DHELP
  2728.           DHELP
  2729.           DHELP
  2730.  
  2731.  
  2732.           Valid keystrokes in the DHELP text window:
  2733.  
  2734.                <down>         Scroll to next line
  2735.  
  2736.                <up>           Scroll to previous line
  2737.  
  2738.                <PgUp>
  2739.                <PgUp>
  2740.                <PgUp>         Page up a screenful
  2741.  
  2742.                <PgDn>
  2743.                <PgDn>
  2744.                <PgDn>         Page down a screenful
  2745.  
  2746.                <End>
  2747.                <End>
  2748.                <End>          Display end of file
  2749.  
  2750.                <Home>
  2751.                <Home>
  2752.                <Home>         Display beginning of file
  2753.  
  2754.  
  2755.  
  2756.           From the DHELP text window, press <F1> to see all available  help
  2757.           topics.   The Topic  window  will appear  at  the bottom  of  the
  2758.           screen.  In the Topic window, you can type the name of the  topic
  2759.           that you want help on, or use the <up>, <down>, <left>, <right>,
  2760.           <End> and <Home> keys to move between topics.  The currently selected
  2761.           topic will be highlighted in the topic window.  Also, the DHELP text
  2762.           window will display the text for the selected topic.  To select the
  2763.           current topic, press <ENTER>.  The Topic window will disappear.
  2764.  
  2765.           In the Topic window, you can  use <Backspace> to delete the  last
  2766.           character typed.   To clear the  entire topic, press  <ESC>.   To
  2767.           exit the topic window without selecting  a new topic press  <ESC>
  2768.           again.
  2769.  
  2770.  
  2771.  
  2772.  
  2773.  
  2774.  
  2775.  
  2776.  
  2777.  
  2778.  
  2779.  
  2780.  
  2781.  
  2782.  
  2783.  
  2784.  
  2785.  
  2786.  
  2787.  
  2788.  
  2789.           36   Utility Reference                         Inductive Logic
  2790.  
  2791.  
  2792.  
  2793.  
  2794.                                                                       DHELP
  2795.                                                                       DHELP
  2796.                                                                       DHELP
  2797.  
  2798.  
  2799.           Valid keystrokes in the Topic window:
  2800.  
  2801.                <down>         Select next topic
  2802.  
  2803.                <up>           Select previous topic
  2804.  
  2805.                <left>         Select topic 1 column to the left
  2806.  
  2807.                <right>        Select topic 1 column to the right
  2808.  
  2809.                <End>
  2810.                <End>
  2811.                <End>          Select first topic
  2812.  
  2813.                <Home>
  2814.                <Home>
  2815.                <Home>         Select last topic
  2816.  
  2817.                <Backspace>
  2818.                <Backspace>
  2819.                <Backspace>    Delete previous character
  2820.  
  2821.                <ESC>
  2822.                <ESC>
  2823.                <ESC>          Clear current topic, or close topic window
  2824.  
  2825.           _________
  2826.           Examples:
  2827.           _________
  2828.           Examples:
  2829.           _________
  2830.           Examples:
  2831.  
  2832.  
  2833.           To get help on using DHELP, type
  2834.  
  2835.                DHELP
  2836.                DHELP
  2837.                DHELP
  2838.  
  2839.           To get help on the DOS FORMAT command, type
  2840.  
  2841.                DHELP FORMAT
  2842.                DHELP FORMAT
  2843.                DHELP FORMAT
  2844.  
  2845.  
  2846.  
  2847.  
  2848.  
  2849.  
  2850.  
  2851.  
  2852.  
  2853.  
  2854.  
  2855.  
  2856.  
  2857.  
  2858.  
  2859.  
  2860.  
  2861.  
  2862.  
  2863.  
  2864.  
  2865.           InCommand User's Guide                 Utility Reference    37
  2866.  
  2867.  
  2868.  
  2869.  
  2870.           DI
  2871.           DI
  2872.           DI
  2873.  
  2874.  
  2875.           DI  [
  2876.           DI  [
  2877.           DI  [wildcard-filespec]
  2878.                                 ]
  2879.                                 ]
  2880.  
  2881.           Makes a directory listing
  2882.  
  2883.  
  2884.  
  2885.           __________
  2886.           Modifiers:
  2887.           __________
  2888.           Modifiers:
  2889.           __________
  2890.           Modifiers:
  2891.  
  2892.  
  2893.                +ADVSHR        Select only entries with any of the given
  2894.                               attributes.
  2895.                               System and Hidden files are selected by
  2896.                               default
  2897.  
  2898.                -ADVSHR        Do not select entries with any of the given
  2899.                               attributes
  2900.  
  2901.                /BEFORE[:date:time] Select files modified before a given
  2902.                               time
  2903.  
  2904.                /SINCE[:date:time]  Select files modified on or after a
  2905.                               given time
  2906.  
  2907.                /ON[:date:time]     Select files modified in the 24 hour
  2908.                               period beginning with the given time
  2909.  
  2910.                /BIGGER[:size] Select files bigger than (or equal to) the
  2911.                               given size
  2912.  
  2913.                /SMALLER[:size]     Select files smaller than (or equal to)
  2914.                               the given size
  2915.  
  2916.                /EXCLUDE:namespec   Do not select files which match the
  2917.                               wildcard-namespec
  2918.  
  2919.                /ABSOLUTE      List only the fully qualified filespec for
  2920.                               each entry (see /RELATIVE)
  2921.  
  2922.                /BYEXTENSION   Sort directory by extension first, then name
  2923.  
  2924.                /BYSIZE        Sort directory by file size
  2925.  
  2926.                /BYTIME        Sort directory by modification date and time
  2927.  
  2928.                /EXIST         Test for existence of files
  2929.  
  2930.  
  2931.  
  2932.  
  2933.           38   Utility Reference                         Inductive Logic
  2934.  
  2935.  
  2936.  
  2937.  
  2938.                                                                          DI
  2939.                                                                          DI
  2940.                                                                          DI
  2941.  
  2942.  
  2943.                /NOPAGE        DON'T pause between screens on a CRT
  2944.  
  2945.                /RELATIVE      List only the relative filespec for each
  2946.                               entry (see /ABSOLUTE)
  2947.  
  2948.                /SUBTOTAL      Display the file and directory counts
  2949.                               individually for each subdirectory, and the
  2950.                               /TOTAL information
  2951.  
  2952.                /TOTAL         Display only the total file and directory
  2953.                               counts and total size
  2954.  
  2955.                /WIDE          List only the filenames, formatted in 5
  2956.                               columns (like DOS DIR/W)
  2957.  
  2958.           ___________
  2959.           Exit codes:
  2960.           ___________
  2961.           Exit codes:
  2962.           ___________
  2963.           Exit codes:
  2964.  
  2965.                0    Normal         One or more files listed
  2966.                1    Information    No entries matched given specifiers
  2967.                4    Fatal Error    Syntax error, or invalid file
  2968.                                    specification
  2969.  
  2970.           You may  specify any  combination of  the  6 attributes  (in  any
  2971.           order) with the "+
  2972.                            +
  2973.                            +"  or "-
  2974.                                    -
  2975.                                    -" attribute modifiers.
  2976.  
  2977.           The  DI  command  lists  each  directory  entry  with  its  size,
  2978.           modification (or creation) date, and attributes. Because we don't
  2979.           believe in  hiding things  from  intelligent users,  all  hidden,
  2980.           system, and volume entries are listed.   In fact, all entries of
  2981.           any kind (that meet the user given specifiers) will be shown.
  2982.  
  2983.           By default, the  directory entries are  sorted alphabetically  by
  2984.           name.   You  may  change the  sort  key  with  the  /BYEXTENSION,
  2985.                                                               /BYEXTENSION,
  2986.                                                               /BYEXTENSION,
  2987.           /BYTIME, 
  2988.           /BYTIME, 
  2989.           /BYTIME, and /BYSIZE 
  2990.                        /BYSIZE 
  2991.                        /BYSIZE modifiers.
  2992.  
  2993.           DI puts a summary of the number of directories, files, and  total
  2994.           file size at the end of the directory list. After the total size
  2995.           of all files,  DI puts the  allocated
  2996.                                       allocated
  2997.                                       allocated size in  parentheses.   The
  2998.           allocated size includes rounding  up all file  sizes to the  next
  2999.           full cluster, the 32 bytes per directory entry for each file, and
  3000.           the cluster rounding of the directories themselves.  The idea  is
  3001.           to tell you  how much real  disk space the  given files  consume.
  3002.           Because of  complex system  details, the  allocated bytes  listed
  3003.           cannot always  be exact,  but  they are  very  close.   When  you
  3004.           specify a network drive directly (i.e., without a virtual drive),
  3005.           DI cannot know the cluster size of the network disk, so it uses a
  3006.  
  3007.  
  3008.  
  3009.           InCommand User's Guide                 Utility Reference    39
  3010.  
  3011.  
  3012.  
  3013.  
  3014.           DI
  3015.           DI
  3016.           DI
  3017.  
  3018.  
  3019.           cluster size  of  1  byte, effectively  eliminating  any  cluster
  3020.           rounding from the allocated size total.
  3021.  
  3022.           The  /TOTAL
  3023.                /TOTAL
  3024.                /TOTAL  modifier   displays  only   the  total   number  of
  3025.           directories, files,  and  bytes  of  the  selected  files.    The
  3026.           /SUBTOTAL
  3027.           /SUBTOTAL
  3028.           /SUBTOTAL modifier displays  these values  for each  subdirectory
  3029.           selected, and then the TOTAL information.
  3030.  
  3031.           By default, DI pauses after each  screenful of display.  You  can
  3032.           omit the screen pausing by specifying /NOPAGE
  3033.                                                 /NOPAGE
  3034.                                                 /NOPAGE.  If the output is
  3035.           redirected to a file (or any non-CRT), there is no pausing.
  3036.  
  3037.           You can  exclude a  file or  set of  files from  being listed  by
  3038.           specifying /EXCLUDE:
  3039.                      /EXCLUDE:
  3040.                      /EXCLUDE:wildcard-filename.
  3041.                                                .
  3042.                                                .
  3043.  
  3044.           You can get a list of entries without blank lines or  intervening
  3045.           directory lines  by  specifying  /ABSOLUTE 
  3046.                                            /ABSOLUTE 
  3047.                                            /ABSOLUTE or  /RELATIVE
  3048.                                                          /RELATIVE
  3049.                                                          /RELATIVE.   With
  3050.           either option,  DI  lists each  entry  with its  directory  path,
  3051.           either absolute
  3052.                  absolute
  3053.                  absolute (fully  qualified)  or  relative
  3054.                                                   relative
  3055.                                                   relative, and  no  other
  3056.           information.  These options are useful for generating file  lists
  3057.           for input to  file processing programs.   Note  that usually  you
  3058.           will  want  to  specify  -D
  3059.                                    -D
  3060.                                    -D,  to  omit  the   directory  entries
  3061.           themselves, and get only the file names.
  3062.  
  3063.           An  absolute
  3064.               absolute
  3065.               absolute  filespec  (sometimes  called  a  "fully  qualified"
  3066.           filespec) is one that  starts with a drive  letter, and the  root
  3067.           directory, and  explicitly specifies  every subdirectory  in  the
  3068.           path.  A  relative
  3069.                     relative
  3070.                     relative filespec specifies  a path  starting from the
  3071.           default directory for  a drive.   Therefore, a relative  filespec
  3072.           includes any drive or directories that you give in the  wildcard-
  3073.           filespec.  As a result, if you specify a drive and directory from
  3074.           the root, the /ABSOLUTE 
  3075.                         /ABSOLUTE 
  3076.                         /ABSOLUTE and /RELATIVE 
  3077.                                       /RELATIVE 
  3078.                                       /RELATIVE modifiers are equivalent.
  3079.  
  3080.           The /EXIST
  3081.               /EXIST
  3082.               /EXIST modifier is an advanced feature, mostly used in batch
  3083.           files to test for  the existence of files  or directories.   With
  3084.           this modifier,  DI produces  no screen  output, but  returns  the
  3085.           usual exit codes.   You can test  the exit code  in a batch  file
  3086.           with the DOS  IF [NOT]  ERRORLEVEL command.   An exit  code of  1
  3087.           indicates  no  directory   entries  were  found   to  match   the
  3088.           specifiers.  An  exit code of  0 indicates  a matching  directory
  3089.           entry was found.  When you  use /EXIST
  3090.                                           /EXIST
  3091.                                           /EXIST, DI stops after finding a
  3092.           single matching directory entry.  There is no need for it to find
  3093.           more than one entry, so it saves a lot of time on a large  search
  3094.           to stop as soon as possible.
  3095.  
  3096.  
  3097.  
  3098.  
  3099.  
  3100.           40   Utility Reference                         Inductive Logic
  3101.  
  3102.  
  3103.  
  3104.  
  3105.                                                                          DI
  3106.                                                                          DI
  3107.                                                                          DI
  3108.  
  3109.  
  3110.           Because DOS (non-networked)  subdirectories always  have the  "."
  3111.           and ".." entries in them, /EXIST
  3112.                                     /EXIST
  3113.                                     /EXIST automatically excludes them from
  3114.           the search,  so that  it only  looks for  directory entries  over
  3115.           which you have control.   /EXIST 
  3116.                                     /EXIST 
  3117.                                     /EXIST also excludes volume  labels by
  3118.           default, but you can search for them explicitly by specifying the
  3119.           +V attribute modifier.
  3120.  
  3121.           _________
  3122.           Examples:
  3123.           _________
  3124.           Examples:
  3125.           _________
  3126.           Examples:
  3127.  
  3128.  
  3129.           To display all the  entries with .OBJ  extensions in the  current
  3130.           directory, type
  3131.                DI .OBJ
  3132.                DI .OBJ
  3133.                DI .OBJ
  3134.  
  3135.           To list all the  *.TXT and *.DOC files  in the subdirectories  of
  3136.           the current directory beginning with the letter A, type
  3137.                DI A*\.TXT,.DOC
  3138.                DI A*\.TXT,.DOC
  3139.                DI A*\.TXT,.DOC
  3140.  
  3141.           To display  all  the  entries except  those  with  .OBJ  or  .EXE
  3142.           extensions in the current directory, type
  3143.                DI /EXCLUDE:.OBJ,.EXE
  3144.                DI /EXCLUDE:.OBJ,.EXE
  3145.                DI /EXCLUDE:.OBJ,.EXE
  3146.  
  3147.           To display  all  files in  the  current directory  modified  last
  3148.           Sunday, type
  3149.                DI /ON:SUNDAY
  3150.                DI /ON:SUNDAY
  3151.                DI /ON:SUNDAY
  3152.  
  3153.           To display all files on the entire disk which are 1,000,000 bytes
  3154.           (1 megabyte) or larger, type
  3155.                DI ... /BI:1000000
  3156.                DI ... /BI:1000000
  3157.                DI ... /BI:1000000
  3158.  
  3159.           To display all  the subdirectories in  a directory named  PARENT,
  3160.           type
  3161.                DI PARENT\ +D
  3162.                DI PARENT\ +D
  3163.                DI PARENT\ +D
  3164.  
  3165.           To see all the files needing  archiving in the current  directory
  3166.           tree, type
  3167.                DI ... +A
  3168.                DI ... +A
  3169.                DI ... +A
  3170.  
  3171.           To see only the  total size of all  those files, without  listing
  3172.           each individually, type
  3173.                DI ... +A /T
  3174.                DI ... +A /T
  3175.                DI ... +A /T
  3176.  
  3177.           To make a list of the absolute filespecs of all the files in  the
  3178.           current directory tree, and  omit subdirectory names  themselves,
  3179.           type
  3180.                DI ... /ABS -D
  3181.                DI ... /ABS -D
  3182.                DI ... /ABS -D
  3183.  
  3184.  
  3185.  
  3186.           InCommand User's Guide                 Utility Reference    41
  3187.  
  3188.  
  3189.  
  3190.  
  3191.           DI
  3192.           DI
  3193.           DI
  3194.  
  3195.  
  3196.           To see the total number of files, and the total size of the files
  3197.           in each subdirectory of the current tree, type
  3198.                DI ... /SUB
  3199.                DI ... /SUB
  3200.                DI ... /SUB
  3201.  
  3202.           To see all of  the files on the  current disk (starting from  the
  3203.           root directory)  that have  "2" as  the second  character in  the
  3204.           filename, type
  3205.                DI \...?2*.*
  3206.                DI \...?2*.*
  3207.                DI \...?2*.*
  3208.  
  3209.  
  3210.  
  3211.  
  3212.  
  3213.  
  3214.  
  3215.  
  3216.  
  3217.  
  3218.  
  3219.  
  3220.  
  3221.  
  3222.  
  3223.  
  3224.  
  3225.  
  3226.  
  3227.  
  3228.  
  3229.  
  3230.  
  3231.  
  3232.  
  3233.  
  3234.  
  3235.  
  3236.  
  3237.  
  3238.  
  3239.  
  3240.  
  3241.  
  3242.  
  3243.  
  3244.  
  3245.  
  3246.  
  3247.  
  3248.  
  3249.           42   Utility Reference                         Inductive Logic
  3250.  
  3251.  
  3252.  
  3253.  
  3254.                                                                     EXECUTE
  3255.                                                                     EXECUTE
  3256.                                                                     EXECUTE
  3257.  
  3258.  
  3259.           EXECUTE  
  3260.           EXECUTE  
  3261.           EXECUTE  user-command  [
  3262.                                  [
  3263.                                  [user-parameters]
  3264.                                                  ]
  3265.                                                  ]  [
  3266.                                                     [
  3267.                                                     [wildcard-filespec
  3268.                enclosed in square brackets]
  3269.                                           ]
  3270.                                           ]
  3271.                up to 5 destination-filespecs, enclosed in square brackets
  3272.                ("[ ]
  3273.                  [ ]
  3274.                  [ ]")
  3275.  
  3276.           Allows any  command,  program, or  batch  file to  use  InCommand
  3277.           wildcard-filespecs
  3278.  
  3279.  
  3280.  
  3281.           __________
  3282.           Modifiers:
  3283.           __________
  3284.           Modifiers:
  3285.           __________
  3286.           Modifiers:
  3287.  
  3288.  
  3289.                +ASHR          Select only files with any of the given
  3290.                               attributes.
  3291.                               System and Hidden files are not selected by
  3292.                               default
  3293.  
  3294.                -ASHR          Do not select files with any of the given
  3295.                               attributes
  3296.  
  3297.                /BEFORE[:date:time] Select files modified before a given
  3298.                               time
  3299.  
  3300.                /SINCE[:date:time]  Select files modified on or after a
  3301.                               given time
  3302.  
  3303.                /ON[:date:time]     Select files modified in the 24 hour
  3304.                               period beginning with the given time
  3305.  
  3306.                /BIGGER[:size] Select files bigger than (or equal to) the
  3307.                               given size
  3308.  
  3309.                /SMALLER[:size]     Select files smaller than (or equal to)
  3310.                               the given size
  3311.  
  3312.                /EXCLUDE:namespec   Do not select files which match the
  3313.                               wildcard-namespec
  3314.  
  3315.                /BYEXTENSION   Execute files alphabetically by extension
  3316.                               first, then name
  3317.  
  3318.                /BYSIZE        Execute files in order of file size
  3319.  
  3320.                /BYTIME        Execute files in order of modification date
  3321.                               and time
  3322.  
  3323.  
  3324.  
  3325.           InCommand User's Guide                 Utility Reference    43
  3326.  
  3327.  
  3328.  
  3329.  
  3330.           EXECUTE
  3331.           EXECUTE
  3332.           EXECUTE
  3333.  
  3334.  
  3335.                /CREATE        Create destination directories if they do not
  3336.                               already exist
  3337.  
  3338.                /FLATTEN       Put all destination files in a single
  3339.                               directory
  3340.  
  3341.                /IFEXISTS      File is selected only if the first
  3342.                               destination file already exists
  3343.  
  3344.                /IFMISSING     File is selected only if the first
  3345.                               destination file does not already exist
  3346.  
  3347.                /IFNEWER       File is selected if the source file time is
  3348.                               newer than the first destination file time,
  3349.                               or if the first destination file does not
  3350.                               exist
  3351.  
  3352.                /IFOLDER       File is selected if the source file time is
  3353.                               older than the first destination file time,
  3354.                               or if the first destination file does not
  3355.                               exist
  3356.  
  3357.                /INDIVIDUALLY  Asks for confirmation before executing user-
  3358.                               command on each file
  3359.  
  3360.                /NOLIST        Do not list commands as they are executed
  3361.  
  3362.           ___________
  3363.           Exit codes:
  3364.           ___________
  3365.           Exit codes:
  3366.           ___________
  3367.           Exit codes:
  3368.  
  3369.                0    Normal         Command executed with all specified
  3370.                                    files, though some may have errors
  3371.                2    Warning        No files match specifications
  3372.                3    Error          One or more commands executed, and one
  3373.                                    or more commands attempted could not be
  3374.                                    executed
  3375.                4    Fatal Error    Syntax error, or no commands could be
  3376.                                    executed
  3377.  
  3378.           EXECUTE is an advanced utility that allows any command,  program,
  3379.           or batch file  to be run  as if it  had full InCommand  wildcard-
  3380.           filespecs and file  selection modifiers.   EXECUTE achieves  this
  3381.           effect by  executing user-command once  for each  file it  finds
  3382.           matching your  specifications.    For  each  execution  of  user-
  3383.           command, EXECUTE inserts  the actual  filename in  place of  the
  3384.           wildcard-filespec.   In this  way,  user-command never  sees  any
  3385.           wildcards; it only sees actual filenames that EXECUTE has found.
  3386.  
  3387.  
  3388.  
  3389.           44   Utility Reference                         Inductive Logic
  3390.  
  3391.  
  3392.  
  3393.  
  3394.                                                                     EXECUTE
  3395.                                                                     EXECUTE
  3396.                                                                     EXECUTE
  3397.  
  3398.  
  3399.           Besides a  source filespec,  you may  give up  to 5  destination-
  3400.           filespecs.  These filespecs are formed according to the  standard
  3401.           rules for destination-filespecs (see p.   20).  Notice  that you
  3402.           must  put  square  brackets  around  wildcard-filespec  and  any
  3403.           destination-filespecs.  The square  brackets ("[]
  3404.                                                          []
  3405.                                                          []") tell EXECUTE
  3406.           where  in  the  command   line  to  find  wildcard-filespec  and
  3407.           destination-filespecs.  Anything following user-command which is
  3408.           not inside square brackets is assumed to be parameters for  user-
  3409.           command, and EXECUTE does not interpret it in any way; it  simply
  3410.           passes it on  to the user-command.  You  may freely  intersperse
  3411.           user-command  parameters  anywhere  between  the  filespecs  that
  3412.           follow user-command.
  3413.  
  3414.           Because of  EXECUTE's wide  capabilities,  it accepts  much  more
  3415.           freedom of  placement of  its parameters  than the  above  syntax
  3416.           summary can  show.   The wildcard-filespec, and  also the  first
  3417.           destination-filespec, may optionally precede user-command (still
  3418.           enclosed in square  brackets).  If  they do,  then the  filenames
  3419.           they represent do  not appear in  the command actually  executed,
  3420.           but destination-filespecs after user-command will be substituted
  3421.           normally.  This allows you to use the /IFxxx
  3422.                                                 /IFxxx
  3423.                                                 /IFxxx modifiers to select
  3424.           files, without requiring you  to have those particular  filenames
  3425.           used in user-command.  If you use any  /IFxxx
  3426.                                                  /IFxxx
  3427.                                                  /IFxxx modifier, you must
  3428.           give at least one destination-filespec.
  3429.  
  3430.           Note that  the wildcard-filespec is  required, but   destination-
  3431.           filespecs are optional.   Because any  modifiers following  user-
  3432.           command belong to user-command, all the InCommand modifiers must
  3433.                                           all the InCommand modifiers must
  3434.                                           all the InCommand modifiers must
  3435.           come before 
  3436.           come before 
  3437.           come before user-command.  The first parameter which EXECUTE does
  3438.           not recognize is assumed to be user-command.
  3439.  
  3440.           If user-command requires square brackets for some options, which
  3441.           might  conflict  with  EXECUTE's  use  of  square  brackets   for
  3442.           filespecs, try enclosing the  user-command parameters in  double-
  3443.           quotes.  EXECUTE will ignore  square brackets inside quotes,  but
  3444.           the quotes will be passed on to  user-command.  For example,  if
  3445.           you have a file named FIRST.C in the current directory, then  the
  3446.           command
  3447.                EXECUTE USERCOM "[USER-STUFF]" [*.C]
  3448.                EXECUTE USERCOM "[USER-STUFF]" [*.C]
  3449.                EXECUTE USERCOM "[USER-STUFF]" [*.C]
  3450.  
  3451.           will execute the following command:
  3452.                USERCOM "[USER-STUFF]" FIRST.C
  3453.                USERCOM "[USER-STUFF]" FIRST.C
  3454.                USERCOM "[USER-STUFF]" FIRST.C
  3455.  
  3456.           If user-command requires square  brackets and cannot  accept the
  3457.           double-quotes around  them,  you can  write  a batch  file  which
  3458.           invokes user-command with the  square brackets inside  the batch
  3459.  
  3460.  
  3461.  
  3462.           InCommand User's Guide                 Utility Reference    45
  3463.  
  3464.  
  3465.  
  3466.  
  3467.           EXECUTE
  3468.           EXECUTE
  3469.           EXECUTE
  3470.  
  3471.  
  3472.           file.  There will then be no square brackets on the user  command
  3473.           line, and hence no conflict with EXECUTE.  For example, if in the
  3474.           above example, USERCOM would  not allow the double-quotes  around
  3475.           "[USER-STUFF]", you could write  a batch file named  USERBAT.BAT,
  3476.           containing this line:
  3477.                USERCOM [USER-STUFF] %1
  3478.                USERCOM [USER-STUFF] %1
  3479.                USERCOM [USER-STUFF] %1
  3480.  
  3481.           And then you could use EXECUTE to run the batch file:
  3482.                EXECUTE USERBAT [*.C]
  3483.                EXECUTE USERBAT [*.C]
  3484.                EXECUTE USERBAT [*.C]
  3485.  
  3486.           EXECUTE processes files  in alphabetical order  by default.   You
  3487.           can select a different order with the /BYxxx
  3488.                                                 /BYxxx
  3489.                                                 /BYxxx modifiers.
  3490.  
  3491.           You can use the /INDIVIDUALLY option to pick and choose among the
  3492.           set of given files.   EXECUTE will ask  you to confirm each  file
  3493.           before executing user-command.  You may answer
  3494.  
  3495.                N  
  3496.                N  
  3497.                N  or  <ENTER>
  3498.                       <ENTER>
  3499.                       <ENTER> to not execute user-command on the file
  3500.  
  3501.                Y
  3502.                Y
  3503.                Y              to execute user-command on the file
  3504.  
  3505.                Q
  3506.                Q
  3507.                Q              to quit executing
  3508.  
  3509.                A
  3510.                A
  3511.                A              to execute user-command on this and all
  3512.                               subsequent files without confirmation
  3513.  
  3514.           _________
  3515.           Examples:
  3516.           _________
  3517.           Examples:
  3518.           _________
  3519.           Examples:
  3520.  
  3521.  
  3522.           To use  EXECUTE to  copy a  number  of files  with the  DOS  COPY
  3523.           command, you could type
  3524.                EXECUTE COPY/V [*.OBJ] [*.XYZ]
  3525.                EXECUTE COPY/V [*.OBJ] [*.XYZ]
  3526.                EXECUTE COPY/V [*.OBJ] [*.XYZ]
  3527.  
  3528.           If you had files named A.OBJ,  B.OBJ, and C.OBJ, this command  is
  3529.           equivalent to typing
  3530.                COPY/V A.OBJ A.XYZ
  3531.                COPY/V A.OBJ A.XYZ
  3532.                COPY/V A.OBJ A.XYZ
  3533.                COPY/V B.OBJ B.XYZ
  3534.                COPY/V B.OBJ B.XYZ
  3535.                COPY/V B.OBJ B.XYZ
  3536.                COPY/V C.OBJ C.XYZ
  3537.                COPY/V C.OBJ C.XYZ
  3538.                COPY/V C.OBJ C.XYZ
  3539.  
  3540.           Notice that in either case, the DOS COPY command does not see any
  3541.           wildcards in either the source or destination filespecs.   Notice
  3542.           also that the /V is  a modifier to the  DOS COPY command, and  is
  3543.           not interpreted by EXECUTE.
  3544.  
  3545.           To find out which files  in a directory tree  (DIR1. . .) do  not
  3546.           exist in a parallel tree (DIR2. . .), type
  3547.  
  3548.  
  3549.  
  3550.           46   Utility Reference                         Inductive Logic
  3551.  
  3552.  
  3553.  
  3554.  
  3555.                                                                     EXECUTE
  3556.                                                                     EXECUTE
  3557.                                                                     EXECUTE
  3558.  
  3559.  
  3560.                EXECUTE/IFMISSING [DIR1\...*.*] REM [DIR2\*.*]
  3561.                EXECUTE/IFMISSING [DIR1\...*.*] REM [DIR2\*.*]
  3562.                EXECUTE/IFMISSING [DIR1\...*.*] REM [DIR2\*.*]
  3563.  
  3564.           In this case, user-command is a REMark,  which does nothing  but
  3565.           list the filename missing from DIR2\.
  3566.  
  3567.           To find out which files in a directory tree (DIR1. . .) are newer
  3568.           than their counterparts in a parallel tree (DIR2. . .), type
  3569.                EXECUTE/IFNEWER [DIR1\...*.*] REM [DIR2\*.*]
  3570.                EXECUTE/IFNEWER [DIR1\...*.*] REM [DIR2\*.*]
  3571.                EXECUTE/IFNEWER [DIR1\...*.*] REM [DIR2\*.*]
  3572.  
  3573.           In this case, user-command is a REMark,  which does nothing  but
  3574.           list the filename missing from DIR2\.
  3575.  
  3576.           Suppose you have 2 directory trees which should be identical.  To
  3577.           use the DOS FC command  to compare all the  .C and .ASM files  in
  3578.           the 2 trees, type
  3579.                EXECUTE FC [DIR1\...*.C,*.ASM] [DIR2\]
  3580.                EXECUTE FC [DIR1\...*.C,*.ASM] [DIR2\]
  3581.                EXECUTE FC [DIR1\...*.C,*.ASM] [DIR2\]
  3582.  
  3583.           Notice that if DIR2\  has *.C or *.ASM  files not
  3584.                                                         not
  3585.                                                         not in DIR1\, they
  3586.           will not be selected at all.
  3587.  
  3588.           Assume you have a batch file named MYBATCH.BAT that processes its
  3589.           first parameter as an input file, and its second parameter as  an
  3590.           output file.   You can  invoke that batch  file on  all the  *.IN
  3591.           files in the  current directory  tree created  since Monday  into
  3592.           *.OUT files in the same directories, by typing:
  3593.                EXECUTE/SI:MON MYBATCH [...*.IN] [*.OUT]
  3594.                EXECUTE/SI:MON MYBATCH [...*.IN] [*.OUT]
  3595.                EXECUTE/SI:MON MYBATCH [...*.IN] [*.OUT]
  3596.  
  3597.           Alternatively, you could invoke the batch file on all *.IN  files
  3598.           which are newer than their corresponding *.OUT files, by typing
  3599.                EXECUTE/IFNEWER MYBATCH [...*.IN] [*.OUT]
  3600.                EXECUTE/IFNEWER MYBATCH [...*.IN] [*.OUT]
  3601.                EXECUTE/IFNEWER MYBATCH [...*.IN] [*.OUT]
  3602.  
  3603.           To assemble all *.ASM files created since this morning into *.OBJ
  3604.           and *.LIS files, type
  3605.                EXECUTE/SINCE ASM [*.ASM] [*.OBJ] [*.LIS]
  3606.                EXECUTE/SINCE ASM [*.ASM] [*.OBJ] [*.LIS]
  3607.                EXECUTE/SINCE ASM [*.ASM] [*.OBJ] [*.LIS]
  3608.  
  3609.  
  3610.  
  3611.  
  3612.  
  3613.  
  3614.  
  3615.  
  3616.  
  3617.  
  3618.  
  3619.  
  3620.  
  3621.  
  3622.  
  3623.           InCommand User's Guide                 Utility Reference    47
  3624.  
  3625.  
  3626.  
  3627.  
  3628.           ICOPY
  3629.           ICOPY
  3630.           ICOPY
  3631.  
  3632.  
  3633.           ICOPY
  3634.           ICOPY
  3635.           ICOPY  
  3636.                  
  3637.                  wildcard-filespec  [
  3638.                                     [
  3639.                                     [destination-filespec]
  3640.                                                          ]
  3641.                                                          ]
  3642.  
  3643.           Copies files, with better verification than DOS
  3644.  
  3645.  
  3646.  
  3647.           __________
  3648.           Modifiers:
  3649.           __________
  3650.           Modifiers:
  3651.           __________
  3652.           Modifiers:
  3653.  
  3654.  
  3655.                +ASHR          Select only files with any of the given
  3656.                               attributes.
  3657.                               System and Hidden files are not selected by
  3658.                               default
  3659.  
  3660.                -ASHR          Do not select files with any of the given
  3661.                               attributes
  3662.  
  3663.                /BEFORE[:date:time] Select files modified before a given
  3664.                               time
  3665.  
  3666.                /SINCE[:date:time]  Select files modified on or after a
  3667.                               given time
  3668.  
  3669.                /ON[:date:time]     Select files modified in the 24 hour
  3670.                               period beginning with the given time
  3671.  
  3672.                /BIGGER[:size] Select files bigger than (or equal to) the
  3673.                               given size
  3674.  
  3675.                /SMALLER[:size]     Select files smaller than (or equal to)
  3676.                               the given size
  3677.  
  3678.                /EXCLUDE:namespec   Do not select files which match the
  3679.                               wildcard-namespec
  3680.  
  3681.                /ATTRIBUTES    Copy source file attributes to destination
  3682.                               file
  3683.  
  3684.                /BACKUP[:namespec]  If the destination file exists, it is
  3685.                               renamed to a backup name before the source
  3686.                               file is copied
  3687.  
  3688.                /BYEXTENSION   Copy files alphabetically by extension first,
  3689.                               then name
  3690.  
  3691.                /BYSIZE        Copy files in order of file size
  3692.  
  3693.  
  3694.  
  3695.           48   Utility Reference                         Inductive Logic
  3696.  
  3697.  
  3698.  
  3699.  
  3700.                                                                       ICOPY
  3701.                                                                       ICOPY
  3702.                                                                       ICOPY
  3703.  
  3704.  
  3705.                /BYTIME        Copy files in order of modification date and
  3706.                               time
  3707.  
  3708.                /CREATE        Create destination directory if it does not
  3709.                               already exist
  3710.  
  3711.                /FLATTEN       Put all destination files in a single
  3712.                               directory
  3713.  
  3714.                /IFEXISTS      File is copied only if the destination file
  3715.                               already exists
  3716.  
  3717.                /IFMISSING     File is copied only if the destination file
  3718.                               does not already exist
  3719.  
  3720.                /IFNEWER       File is copied if the source file time is
  3721.                               newer than the destination file time, or if
  3722.                               the destination file does not exist
  3723.  
  3724.                /IFOLDER       File is copied if the source file time is
  3725.                               older than the destination file time, or if
  3726.                               the destination file does not exist
  3727.  
  3728.                /MODIFIED      Copies files with the +A attribute, and
  3729.                               resets the attribute on the source files.  /M
  3730.                               is compatible with the DOS XCOPY/M command
  3731.  
  3732.                /NOLIST        Do not list filenames as they are copied
  3733.  
  3734.                /NOVERIFY      Do not verify destination against source
  3735.                               after copying
  3736.  
  3737.                /OVERWRITE     Overwrite destination files without
  3738.                               prompting.
  3739.  
  3740.                /SUBDIRS       Copy all subdirectories below the given
  3741.                               source.  Used only for compatibility with DOS
  3742.                               XCOPY/S.  Equivalent to the ". . ." wildcard
  3743.  
  3744.                /TOUCH         Set the file modification times of the
  3745.                               destination files to the current time
  3746.  
  3747.                /VERIFY        After copying, both files are read back and
  3748.                               verified identical.  This is the default, but
  3749.                               is allowed for compatibility with DOS
  3750.  
  3751.  
  3752.  
  3753.  
  3754.           InCommand User's Guide                 Utility Reference    49
  3755.  
  3756.  
  3757.  
  3758.  
  3759.           ICOPY
  3760.           ICOPY
  3761.           ICOPY
  3762.  
  3763.  
  3764.           ___________
  3765.           Exit codes:
  3766.           ___________
  3767.           Exit codes:
  3768.           ___________
  3769.           Exit codes:
  3770.  
  3771.                0    Normal         All specified files copied normally
  3772.                2    Warning        No files match specifications
  3773.                3    Error          One or more files copied, and one or
  3774.                                    more files attempted could  not be
  3775.                                    copied
  3776.                4    Fatal Error    Syntax error, or no specified files
  3777.                                    could be copied
  3778.  
  3779.           The source files  are copied to  the destination files.   If  the
  3780.           source filespec is an explicit directory (i.e., it ends in either
  3781.           ":" or "\"), then all the files in that directory are copied.  In
  3782.           other words, the  filename of "*.*"  is implied if  you omit  the
  3783.           filename.  If the source filespec is a directory, but you did not
  3784.           explicitly specify it as  such, ICOPY will  give the error  "File
  3785.           not found".    This function  is  consistent with  the  InCommand
  3786.           filespec syntax,  and  prevents  inadvertently  copying  a  whole
  3787.           directory .
  3788.  
  3789.           The destination-filespec may not include any directory wildcards,
  3790.           but it  may  specify a  directory  path.   Refer  to  the  Syntax
  3791.           Reference (page 20) for a  complete description of   destination-
  3792.           filespec.  If the destination-filespec is a directory, then each
  3793.           source file will be copied to a separate destination file of  the
  3794.           same name in the given directory.
  3795.  
  3796.           If you  specify a  destination directory  that does  not  already
  3797.           exist, ICOPY will, by default, ask you if you want the  directory
  3798.           to be created.  You must put  a backslash after it to tell  ICOPY
  3799.           that it is a directory and not a file.  For example,
  3800.                ICOPY *.* X\
  3801.                ICOPY *.* X\
  3802.                ICOPY *.* X\
  3803.  
  3804.           copies all the files in the current directory into a subdirectory
  3805.           named X.  If you use the /CREATE
  3806.                                    /CREATE
  3807.                                    /CREATE modifier, ICOPY will create the
  3808.           destination directory (if  it does  not  already exist)  without
  3809.           prompting.
  3810.  
  3811.           If you specify a single destination file, then all of the  source
  3812.           files will be appended (concatenated) into the single destination
  3813.           file.  For example,
  3814.                ICOPY *.* D\X
  3815.                ICOPY *.* D\X
  3816.                ICOPY *.* D\X
  3817.  
  3818.           will  create  a  file  in  the  subdirectory  D,  named  X,   and
  3819.           concatenate all the files in the current directory into it.
  3820.  
  3821.  
  3822.  
  3823.  
  3824.           50   Utility Reference                         Inductive Logic
  3825.  
  3826.  
  3827.  
  3828.  
  3829.                                                                       ICOPY
  3830.                                                                       ICOPY
  3831.                                                                       ICOPY
  3832.  
  3833.  
  3834.           If the destination file already exists, and you have specified no
  3835.           /IFxxx or /OVERWRITE modifiers, then ICOPY  asks you what to  do.
  3836.           You have 4 choices:
  3837.  
  3838.                O 
  3839.                O 
  3840.                O              O
  3841.                               O
  3842.                               Overwrite the destination file
  3843.  
  3844.                S
  3845.                S
  3846.                S              S
  3847.                               S
  3848.                               Skip this file
  3849.  
  3850.                A
  3851.                A
  3852.                A              overwrite this and A
  3853.                                                  A
  3854.                                                  All subsequent files, with
  3855.                               no more prompting
  3856.  
  3857.                Q
  3858.                Q
  3859.                Q              Q
  3860.                               Q
  3861.                               Quit
  3862.  
  3863.           Unless you  specify /NOVERIFY
  3864.                               /NOVERIFY
  3865.                               /NOVERIFY, both  the source  and destination
  3866.           files are  read back  and verified  identical. This  verify  will
  3867.           catch any read  error of the  source file or  write error of  the
  3868.           destination file.  This is expressly  better than the DOS  COPY/V
  3869.           command, which only  reads back  the destination  file to  verify
  3870.           that the disk medium  is not defective,  and XCOPY/V, which  does
  3871.           not re-read the source file to  protect against read errors.   It
  3872.           is also better than the DOS  VERIFY command, which does the  same
  3873.           thing for all disk writes that the DOS COPY /V option does.   You
  3874.           can save time by specifying VERIFY  OFF to DOS when using ICOPY,
  3875.           and be confident that your copy succeeded.
  3876.  
  3877.           When you  specify directory  wildcards ("?",  "*", or  ". .  ."),
  3878.           ICOPY,  by   default,  creates   destination  subdirectories   to
  3879.           replicate the source  directory structure.   This  allows you  to
  3880.           copy entire directory trees with a single command.  ICOPY creates
  3881.           new directories with the current  date and time.   Alternatively,
  3882.           you can  use the  /FLATTEN
  3883.                             /FLATTEN
  3884.                             /FLATTEN modifier  to put  all the  destination
  3885.           files in  a  single  directory  (thus  flattening  the  directory
  3886.           structure).
  3887.  
  3888.           If the destination disk fills up during the copy, ICOPY will tell
  3889.           you, and give you 4 choices:
  3890.  
  3891.                R
  3892.                R
  3893.                R              R
  3894.                               R
  3895.                               Retry the copy
  3896.  
  3897.                S
  3898.                S
  3899.                S              S
  3900.                               S
  3901.                               Skip the file
  3902.  
  3903.                D
  3904.                D
  3905.                D              go temporarily to a D
  3906.                                                   D
  3907.                                                   DOS prompt (shell)
  3908.  
  3909.                Q
  3910.                Q
  3911.                Q              Q
  3912.                               Q
  3913.                               Quit
  3914.  
  3915.  
  3916.  
  3917.  
  3918.  
  3919.           InCommand User's Guide                 Utility Reference    51
  3920.  
  3921.  
  3922.  
  3923.  
  3924.           ICOPY
  3925.           ICOPY
  3926.           ICOPY
  3927.  
  3928.  
  3929.           If the destination is a floppy, you can replace the diskette, and
  3930.           Retry the copy.  This feature allows  you to copy a set of  files
  3931.           to a set of floppy diskettes, using as many diskettes as it takes
  3932.           to hold them.  If you decide you don't want to copy the file that
  3933.           wouldn't fit, you can Skip it,  and ICOPY will continue with  the
  3934.           rest of the  files.  Or,  you can temporarily  return to the  DOS
  3935.           prompt, where you can  format a new  diskette, delete junk  files
  3936.           (even on the destination disk), etc.  When you're done with  DOS,
  3937.           enter the DOS EXIT command, and  you will return to ICOPY,  where
  3938.           you can again choose to Retry the copy, Skip the file, go to  DOS
  3939.           prompt, or Quit.
  3940.  
  3941.           The /IFNEWER
  3942.               /IFNEWER
  3943.               /IFNEWER modifier allows you to copy files only if the source
  3944.           file is newer than the destination file, or the destination  file
  3945.           does not exist.  This is useful for merging separate  directories
  3946.           into a  single, up-to-date  directory.   The  /IFEXISTS 
  3947.                                                         /IFEXISTS 
  3948.                                                         /IFEXISTS  modifier
  3949.           copies the file only if the destination already exists, which  is
  3950.           useful for  restoring  files  from backups  that  merged  several
  3951.           sources.  /IFNEWER 
  3952.                     /IFNEWER 
  3953.                     /IFNEWER  and /IFEXISTS 
  3954.                                   /IFEXISTS 
  3955.                                   /IFEXISTS may be used  together to  copy
  3956.           files only if the destination already exists, and
  3957.                                                         and
  3958.                                                         and the source file
  3959.           is newer than the destination file.
  3960.  
  3961.           The /IFMISSING
  3962.               /IFMISSING
  3963.               /IFMISSING modifier  allows you  to copy  files only  if the
  3964.           destination file  doesn't  already exist.    This is  useful  for
  3965.           partial restoring of directories.
  3966.  
  3967.           The /IFOLDER
  3968.               /IFOLDER
  3969.               /IFOLDER modifier is like /IFNEWER
  3970.                                         /IFNEWER
  3971.                                         /IFNEWER, except the source file is
  3972.           copied only  if it  is  older than  the  destination, or  if  the
  3973.           destination does  not exist.   This  is  useful for  restoring  a
  3974.           directory to an older state.  /IFOLDER
  3975.                                         /IFOLDER
  3976.                                         /IFOLDER may be used together with
  3977.           /IFEXISTS
  3978.           /IFEXISTS
  3979.           /IFEXISTS.
  3980.  
  3981.           /BACKUP
  3982.           /BACKUP
  3983.           /BACKUP allows you  to overwrite an  existing file, but  preserve
  3984.           the original by renaming it to a backup name.  The default backup
  3985.           name is "*.BAK".  For example, if you type
  3986.                ICOPY FILEA.C FILEB.C /BACKUP
  3987.                ICOPY FILEA.C FILEB.C /BACKUP
  3988.                ICOPY FILEA.C FILEB.C /BACKUP
  3989.  
  3990.           and if  FILEB.C  already  exists, then  it  will  be  renamed  to
  3991.           FILEB.BAK, and then a copy of FILEA.C will be made into FILEB.C.
  3992.  
  3993.           You can  use any  destination file  pattern  you choose  for  the
  3994.           backup filename,  by entering  a destination-namespec after  the
  3995.           /BACKUP.  For example, if you want your backup files to be called
  3996.           *.OLD, you can enter
  3997.                ICOPY FILEA.C FILEB.C /BA:*.OLD
  3998.                ICOPY FILEA.C FILEB.C /BA:*.OLD
  3999.                ICOPY FILEA.C FILEB.C /BA:*.OLD
  4000.  
  4001.  
  4002.  
  4003.  
  4004.           52   Utility Reference                         Inductive Logic
  4005.  
  4006.  
  4007.  
  4008.  
  4009.                                                                       ICOPY
  4010.                                                                       ICOPY
  4011.                                                                       ICOPY
  4012.  
  4013.  
  4014.           The wildcard pattern can be any destination-namespec , but it may
  4015.           not include  a  directory.    Backups  are  always  made  in  the
  4016.           directory  in  which  the  original  exists.    As  always   with
  4017.           destination-filespecs, if you omit the base name, "*" is  implied
  4018.           (e.g., ".BAK" is equivalent to "*.BAK").
  4019.  
  4020.           Note that if the backup file  already exists, it is deleted,  and
  4021.           replaced by the current file.
  4022.  
  4023.           The /MODIFIED 
  4024.               /MODIFIED 
  4025.               /MODIFIED modifier is useful for  making incremental backups
  4026.           of files, and is identical to  the DOS XCOPY/M function.   Source
  4027.           files with the Archive attribute (and others selected by the  "+"
  4028.           and "-" modifiers) are  selected, and after  each file is  copied
  4029.           (and  verified  if  appropriate),   the  source  file's   Archive
  4030.           attribute is  cleared.    To  understand  how  this  performs  an
  4031.           incremental  backup,  recall  that  DOS  sets  a  file's  Archive
  4032.           attribute when the file is created, and any time it is  modified.
  4033.           When you first use ICOPY/MODIFIED
  4034.                              ICOPY/MODIFIED
  4035.                              ICOPY/MODIFIED, all the files are  backed up,
  4036.           and all Archive attributes are  cleared.  Thereafter, only  files
  4037.           which have been created  or modified since  the last backup  have
  4038.           the Archive attribute, so only those files will be copied.   Thus
  4039.           the backup is fully up  to date on all  files, with a major  time
  4040.           savings by not  copying files which  are already  on the  backup.
  4041.           See the Applications  section for  an example  of an  incremental
  4042.           backup process (page 88).
  4043.  
  4044.           The /SUBDIRS
  4045.               /SUBDIRS
  4046.               /SUBDIRS modifier exists only for compatibility with the DOS
  4047.           XCOPY/S command.  Because  XCOPY is one of  the few DOS  commands
  4048.           which can process subdirectories, many  people are used to  using
  4049.           the /S
  4050.               /S
  4051.               /S modifier.  For compatibility, we support the DOS syntax.
  4052.  
  4053.           By default, files are copied in  alphabetical order.  This  means
  4054.           that if  you  copy  a set  of  files  to a  new  directory,  that
  4055.           directory will be physically sorted on the disk.  You can  choose
  4056.           to copy files in a different order with the /BYTIME, /BYSIZE
  4057.                                                       /BYTIME, /BYSIZE
  4058.                                                       /BYTIME, /BYSIZE, and
  4059.           /BYEXTENSION 
  4060.           /BYEXTENSION 
  4061.           /BYEXTENSION modifiers.  With these, you can  create directories
  4062.           sorted any way you like.  But see the Applications section for  a
  4063.           description of "Physically Sorting a Directory" (page 92).
  4064.  
  4065.           By default, destination  files are  given the  same date/time  as
  4066.           their source  files.   You use  the /TOUCH 
  4067.                                               /TOUCH 
  4068.                                               /TOUCH  modifier to  set the
  4069.           modification times  of  the  destination  files  to  the  current
  4070.           date/time.
  4071.  
  4072.           By default, ICOPY creates destination files with the DOS  default
  4073.           attributes, which is  only the Archive  attribute.   You use  the
  4074.  
  4075.  
  4076.  
  4077.           InCommand User's Guide                 Utility Reference    53
  4078.  
  4079.  
  4080.  
  4081.  
  4082.           ICOPY
  4083.           ICOPY
  4084.           ICOPY
  4085.  
  4086.  
  4087.           /ATTRIBUTES
  4088.           /ATTRIBUTES
  4089.           /ATTRIBUTES modifier to copy not only the file contents, but also
  4090.           the file attributes, of the source file to the destination  file.
  4091.           This is useful for things like preserving the need for a file  to
  4092.           be  backed  up  (the  Archive  attribute),  or  preserving   file
  4093.           protection (the Read-only attribute).  It  allows you to back  up
  4094.           and restore a  directory exactly as it  was, including  all file
  4095.           attributes.
  4096.  
  4097.           When copying from hard disk  to floppies, ICOPY is  significantly
  4098.           faster than DOS XCOPY.  Also, ICOPY works faster with more memory
  4099.           available to it, because it fills all available memory with  file
  4100.           data.  Therefore, a copy operation  will require fewer disk  head
  4101.           seeks with more memory.
  4102.  
  4103.           _________
  4104.           Examples:
  4105.           _________
  4106.           Examples:
  4107.           _________
  4108.           Examples:
  4109.  
  4110.  
  4111.           To copy all the  files in the current  directory to NEWDIR,  with
  4112.           verify, type
  4113.                ICOPY *.* NEWDIR\
  4114.                ICOPY *.* NEWDIR\
  4115.                ICOPY *.* NEWDIR\
  4116.  
  4117.           If NEWDIR doesn't exist, ICOPY asks if you want to create it.
  4118.  
  4119.           To copy all of the *.C  and *.ASM files in the current  directory
  4120.           to the directory \BACKUP\, type
  4121.                ICOPY *.C,*.ASM \BACKUP\
  4122.                ICOPY *.C,*.ASM \BACKUP\
  4123.                ICOPY *.C,*.ASM \BACKUP\
  4124.  
  4125.           To copy all of the files in the current directory except the .OBJ
  4126.           and .EXE files  to the directory  \LIBRARY\,  and  to have  ICOPY
  4127.           create that directory without prompting, type
  4128.                ICOPY *.* \LIBRARY\ /EX:.OBJ,.EXE /CREA
  4129.                ICOPY *.* \LIBRARY\ /EX:.OBJ,.EXE /CREA
  4130.                ICOPY *.* \LIBRARY\ /EX:.OBJ,.EXE /CREA
  4131.  
  4132.           To copy all of the files in the current directory with "A" as the
  4133.           second character  in the  filename and  an extension  of .C  into
  4134.           files with the same name but the extension of .SAV, type
  4135.                ICOPY ?A*.C *.SAV
  4136.                ICOPY ?A*.C *.SAV
  4137.                ICOPY ?A*.C *.SAV
  4138.  
  4139.           To perform an incremental backup,  with verify, of the  directory
  4140.           tree starting at \ROOT to drive B:, type
  4141.                ICOPY \ROOT... B: /M
  4142.                ICOPY \ROOT... B: /M
  4143.                ICOPY \ROOT... B: /M
  4144.  
  4145.           Assume you have  a backup of  your hard disk  that takes  several
  4146.           floppies.  To update the files  on one of those floppies (in  the
  4147.           B: drive) with the current versions from the hard drive, type
  4148.                ICOPY *.* B: /IFEXISTS/IFNEWER
  4149.                ICOPY *.* B: /IFEXISTS/IFNEWER
  4150.                ICOPY *.* B: /IFEXISTS/IFNEWER
  4151.  
  4152.  
  4153.  
  4154.  
  4155.           54   Utility Reference                         Inductive Logic
  4156.  
  4157.  
  4158.  
  4159.  
  4160.                                                                       ICOPY
  4161.                                                                       ICOPY
  4162.                                                                       ICOPY
  4163.  
  4164.  
  4165.           This command copies  files from the  current directory  to B:  if
  4166.           there is already a copy of the file on B: and if the modification
  4167.           time is newer  in the current  directory.   See the  Applications
  4168.           section for more information about hard disk backups (page 88).
  4169.  
  4170.           To add files from the PART\ directory which do not already  exist
  4171.           in the ALL\ directory, type
  4172.                ICOPY PART\ ALL\ /IFMISSING
  4173.                ICOPY PART\ ALL\ /IFMISSING
  4174.                ICOPY PART\ ALL\ /IFMISSING
  4175.  
  4176.           To copy all the files in a  tree starting at ROOT\ into a  single
  4177.           directory ALL\, type
  4178.                ICOPY ROOT... ALL\ /FLAT
  4179.                ICOPY ROOT... ALL\ /FLAT
  4180.                ICOPY ROOT... ALL\ /FLAT
  4181.  
  4182.           Imagine you have the  6 chapters to  a book named  CHAPTERS\CHAP1
  4183.           through CHAP6.  To append all  these files from CHAPTERS\ into  a
  4184.           single file in the current directory, type
  4185.                ICOPY CHAPTERS\CHAP? BOOK
  4186.                ICOPY CHAPTERS\CHAP? BOOK
  4187.                ICOPY CHAPTERS\CHAP? BOOK
  4188.  
  4189.           Note that,  unlike DOS  copy functions,  files are  (by  default)
  4190.           copied in ascending alphabetical  (ASCII) order, so the  chapters
  4191.           will be appended in the proper sequence.
  4192.  
  4193.           To concatenate all  the *.DAT files  in the order  in which  they
  4194.           were created, type
  4195.                ICOPY *.DAT DAT.ALL /BYTIME
  4196.                ICOPY *.DAT DAT.ALL /BYTIME
  4197.                ICOPY *.DAT DAT.ALL /BYTIME
  4198.  
  4199.  
  4200.  
  4201.  
  4202.  
  4203.  
  4204.  
  4205.  
  4206.  
  4207.  
  4208.  
  4209.  
  4210.  
  4211.  
  4212.  
  4213.  
  4214.  
  4215.  
  4216.  
  4217.  
  4218.  
  4219.  
  4220.  
  4221.  
  4222.           InCommand User's Guide                 Utility Reference    55
  4223.  
  4224.  
  4225.  
  4226.  
  4227.           IDEL
  4228.           IDEL
  4229.           IDEL
  4230.  
  4231.  
  4232.           IDEL  
  4233.           IDEL  
  4234.           IDEL  wildcard-filespec
  4235.  
  4236.           Deletes files
  4237.  
  4238.  
  4239.  
  4240.           __________
  4241.           Modifiers:
  4242.           __________
  4243.           Modifiers:
  4244.           __________
  4245.           Modifiers:
  4246.  
  4247.  
  4248.                +ASH           Select only files with any of the given
  4249.                               attributes.
  4250.                               System and Hidden files are not selected by
  4251.                               default
  4252.  
  4253.                -ASHR          Do not select files with any of the given
  4254.                               attributes
  4255.  
  4256.                /BEFORE[:date:time] Select files modified before a given
  4257.                               time
  4258.  
  4259.                /SINCE[:date:time]  Select files modified on or after a
  4260.                               given time
  4261.  
  4262.                /ON[:date:time]     Select files modified in the 24 hour
  4263.                               period beginning with the given time
  4264.  
  4265.                /BIGGER[:size] Select files bigger than (or equal to) the
  4266.                               given size
  4267.  
  4268.                /SMALLER[:size]     Select files smaller than (or equal to)
  4269.                               the given size
  4270.  
  4271.                /EXCLUDE:namespec   Do not select files which match the
  4272.                               wildcard-namespec
  4273.  
  4274.                /INDIVIDUALLY  Asks for confirmation before deleting each
  4275.                               file.
  4276.                               You may reply with <ENTER>, N, Y, Q, 
  4277.                                                  <ENTER>, N, Y, Q, 
  4278.                                                  <ENTER>, N, Y, Q, or A
  4279.                                                                       A
  4280.                                                                       A
  4281.  
  4282.                /NOCONFIRM     Do not ask for confirmation when deleting
  4283.                               with wildcards
  4284.  
  4285.                /NOLIST        Do not list each file as it is deleted.
  4286.  
  4287.                /PROMPT        Synonym for /INDIVIDUALLY, compatible with
  4288.                               DOS 5
  4289.  
  4290.  
  4291.  
  4292.           56   Utility Reference                         Inductive Logic
  4293.  
  4294.  
  4295.  
  4296.  
  4297.                                                                        IDEL
  4298.                                                                        IDEL
  4299.                                                                        IDEL
  4300.  
  4301.  
  4302.           ___________
  4303.           Exit codes:
  4304.           ___________
  4305.           Exit codes:
  4306.           ___________
  4307.           Exit codes:
  4308.  
  4309.                0    Normal         All specified files deleted successfully
  4310.                1    Information    User replied "no" to wildcard
  4311.                                    confirmation
  4312.                2    Warning        No files match specifications
  4313.                3    Error          One or more files deleted, and one or
  4314.                                    more files attempted could not be
  4315.                                    deleted
  4316.                4    Fatal Error    Syntax error, or no files could be
  4317.                                    deleted
  4318.  
  4319.           IDEL deletes the selected files.   By default, System and  Hidden
  4320.           files are not selected.  You must select them explicitly with the
  4321.           +S
  4322.           +S
  4323.           +S or +H
  4324.                 +H
  4325.                 +H attribute modifiers.
  4326.  
  4327.           If the wildcard-filespec includes any wildcard ("*" or "?"), and
  4328.           you have  specified neither  /INDIVIDUALLY 
  4329.                                        /INDIVIDUALLY 
  4330.                                        /INDIVIDUALLY nor /NOCONFIRM
  4331.                                                          /NOCONFIRM
  4332.                                                          /NOCONFIRM , IDEL
  4333.           will prompt you with the absolute pathname to be sure you  really
  4334.           want to  delete those  files.   You  may  reply Y
  4335.                                                           Y
  4336.                                                           Y(es) to  delete
  4337.           without confirming, N
  4338.                               N
  4339.                               N(o) to abort the command, or  I
  4340.                                                              I
  4341.                                                              I(ndividually)
  4342.           to confirm  each  file  before  deleting.    Note  that  once  in
  4343.           Individual mode,  you  may answer A
  4344.                                             A
  4345.                                             A(ll) to delete  the remaining
  4346.           files without confirming each one.
  4347.  
  4348.           You can use the /INDIVIDUALLY 
  4349.                           /INDIVIDUALLY 
  4350.                           /INDIVIDUALLY option to pick and choose among the
  4351.           set of given files.  It will ask you to confirm each file  before
  4352.           deleting it.  You may answer
  4353.  
  4354.                N  
  4355.                N  
  4356.                N  or  <ENTER>
  4357.                       <ENTER>
  4358.                       <ENTER> to keep the file intact
  4359.                Y
  4360.                Y
  4361.                Y              to delete the file
  4362.                Q
  4363.                Q
  4364.                Q              to quit deleting
  4365.                A
  4366.                A
  4367.                A              to delete this and all subsequent files
  4368.                               without confirmation
  4369.  
  4370.           If you  always  want  to  be  prompted  for  confirmation  before
  4371.           deleting any  files, and  want to  avoid the  drudgery of  typing
  4372.           "/IN" each time, you can instead make a batch file which contains
  4373.           this one line:
  4374.                IDEL %1 /INDIVIDUALLY
  4375.                IDEL %1 /INDIVIDUALLY
  4376.                IDEL %1 /INDIVIDUALLY
  4377.  
  4378.           Then, using the batch  file instead of IDEL,  you will always  be
  4379.           prompted before deleting the first file.  If acceptable, you  may
  4380.           reply A
  4381.                 A
  4382.                 A(ll) to delete all the files without further prompting.
  4383.  
  4384.  
  4385.  
  4386.  
  4387.  
  4388.           InCommand User's Guide                 Utility Reference    57
  4389.  
  4390.  
  4391.  
  4392.  
  4393.           IDEL
  4394.           IDEL
  4395.           IDEL
  4396.  
  4397.  
  4398.           If you  specify  /NOCONFIRM
  4399.                            /NOCONFIRM
  4400.                            /NOCONFIRM the  files  will be  deleted  without
  4401.           asking for your confirmation even
  4402.                                        even
  4403.                                        even if you use wildcards.
  4404.  
  4405.           By default,  IDEL
  4406.                        IDEL
  4407.                        IDEL lists  each file's  directory entry  as  it is
  4408.           deleted.  You  may omit  this with  the /NOLIST
  4409.                                                   /NOLIST
  4410.                                                   /NOLIST modifier.    IDEL
  4411.                                                                        IDEL
  4412.                                                                        IDEL
  4413.           always prints a summary of the files and bytes deleted, including
  4414.           total bytes  and allocated  bytes.   See  the  DI command  for  a
  4415.           description of allocated bytes (page 39).
  4416.  
  4417.           We don't allow the  +R
  4418.                               +R
  4419.                               +R modifier on  this command, because  you're
  4420.           not allowed to delete read-only files.  To delete them, you  must
  4421.           first remove  the  read-only  attribute.   You  can use  the   -R
  4422.                                                                          -R
  4423.                                                                          -R
  4424.           modifier to avoid read-only files, and the errors that trying  to
  4425.           delete them would generate.
  4426.  
  4427.           _________
  4428.           Examples:
  4429.           _________
  4430.           Examples:
  4431.           _________
  4432.           Examples:
  4433.  
  4434.  
  4435.           To delete all files in the  current directory with one  character
  4436.           filenames and any extension, type
  4437.                IDEL ?.*
  4438.                IDEL ?.*
  4439.                IDEL ?.*
  4440.  
  4441.           To delete all the *.TMP and *.BAK files in the current directory,
  4442.           type
  4443.                IDEL *.TMP,*.BAK
  4444.                IDEL *.TMP,*.BAK
  4445.                IDEL *.TMP,*.BAK
  4446.  
  4447.           To delete all of  the files except the  ones named CORRECT.C  and
  4448.           RIGHT.C in the current directory, type
  4449.                IDEL *.* /EXCLUDE:CORRECT.C,RIGHT.C
  4450.                IDEL *.* /EXCLUDE:CORRECT.C,RIGHT.C
  4451.                IDEL *.* /EXCLUDE:CORRECT.C,RIGHT.C
  4452.  
  4453.           To individually  ask  to  delete  each  .OBJ  file  in  the  root
  4454.           directory, type
  4455.                IDEL \*.OBJ /INDIV
  4456.                IDEL \*.OBJ /INDIV
  4457.                IDEL \*.OBJ /INDIV
  4458.  
  4459.           To delete all  the .BAK files  in each directory  tree below  the
  4460.           current directory, but not in the current directory itself, type
  4461.                IDEL *\...*.BAK
  4462.                IDEL *\...*.BAK
  4463.                IDEL *\...*.BAK
  4464.  
  4465.  
  4466.  
  4467.  
  4468.  
  4469.  
  4470.  
  4471.  
  4472.  
  4473.  
  4474.  
  4475.  
  4476.           58   Utility Reference                         Inductive Logic
  4477.  
  4478.  
  4479.  
  4480.  
  4481.                                                                       IHELP
  4482.                                                                       IHELP
  4483.                                                                       IHELP
  4484.  
  4485.  
  4486.           IHELP  [
  4487.           IHELP  [
  4488.           IHELP  [topic]
  4489.                        ]
  4490.                        ]
  4491.  
  4492.           Interactive help for InCommand
  4493.  
  4494.  
  4495.  
  4496.           __________
  4497.           Modifiers:
  4498.           __________
  4499.           Modifiers:
  4500.           __________
  4501.           Modifiers:
  4502.  
  4503.  
  4504.                None
  4505.  
  4506.           ___________
  4507.           Exit codes:
  4508.           ___________
  4509.           Exit codes:
  4510.           ___________
  4511.           Exit codes:
  4512.  
  4513.                0    Normal         Successfully executed
  4514.                4    Fatal Error    Utilities not installed properly or not
  4515.                                    enough memory
  4516.  
  4517.           IHELP is  a  fast, self-explanatory,  interactive  help  utility.
  4518.           IHELP saves the entire screen on entry, and restores it on  exit,
  4519.           so that you can  pick up right where  you left off after  getting
  4520.           help.  For more information, just type
  4521.                IHELP
  4522.                IHELP
  4523.                IHELP
  4524.  
  4525.           and follow the directions that appear.
  4526.  
  4527.           If you know what topic  you want help on,  you can jump right  to
  4528.           that topic by including it on  the command line with IHELP.   For
  4529.           example,
  4530.                IHELP DI
  4531.                IHELP DI
  4532.                IHELP DI                 display help on the DI command
  4533.  
  4534.           A prompt  bar at  the  bottom of  the  screen gives  you  context
  4535.           sensitive help by listing the valid keystrokes at all times.  Use
  4536.           the <up>, <down>, <PgUp>, <PgDn>, <End> and <Home> keys  to move 
  4537.           around in the help text.  To exit IHELP, press <ESC>, Q, or q.
  4538.  
  4539.           Valid keystrokes in the IHELP text window:
  4540.  
  4541.                <down>         Scroll to next line
  4542.  
  4543.                <up>           Scroll to previous line
  4544.  
  4545.                <PgUp>
  4546.                <PgUp>
  4547.                <PgUp>         Page up a screenful
  4548.  
  4549.                <PgDn>
  4550.                <PgDn>
  4551.                <PgDn>         Page down a screenful
  4552.  
  4553.                <End>
  4554.                <End>
  4555.                <End>          Display end of file
  4556.  
  4557.  
  4558.  
  4559.           InCommand User's Guide                 Utility Reference    59
  4560.  
  4561.  
  4562.  
  4563.  
  4564.           IHELP
  4565.           IHELP
  4566.           IHELP
  4567.  
  4568.  
  4569.                <Home>
  4570.                <Home>
  4571.                <Home>         Display beginning of file
  4572.  
  4573.           From the IHELP text window, press <F1> to see all available  help
  4574.           topics.   The Topic  window  will appear  at  the bottom  of  the
  4575.           screen.  In the Topic window, you can type the name of the  topic
  4576.           that you want help on or use the <up>, <down>, <left>, <right>,
  4577.           <End> and <Home> keys to move between  topics.  The currently
  4578.           selected topic will be highlighted in the topic window.  Also, the
  4579.           IHELP text  window will display the text for the selected topic.  To
  4580.           select the current topic, press <ENTER>.  The Topic window will
  4581.           disappear.
  4582.  
  4583.           In the Topic window, you can  use <Backspace> to delete the  last
  4584.           character typed.   To clear the  entire topic, press  <ESC>.   To
  4585.           exit the topic window without selecting  a new topic press  <ESC>
  4586.           again.
  4587.  
  4588.           Valid keystrokes in the Topic window:
  4589.  
  4590.                <down>         Select next topic
  4591.  
  4592.                <up>           Select previous topic
  4593.  
  4594.                <left>         Select topic 1 column to the left
  4595.  
  4596.                <right>        Select topic 1 column to the right
  4597.  
  4598.                <End>
  4599.                <End>
  4600.                <End>          Select first topic
  4601.  
  4602.                <Home>
  4603.                <Home>
  4604.                <Home>         Select last topic
  4605.  
  4606.                <Backspace>
  4607.                <Backspace>
  4608.                <Backspace>    Delete previous character
  4609.  
  4610.                <ESC>
  4611.                <ESC>
  4612.                <ESC>          Clear current topic, or close topic window
  4613.  
  4614.           _________
  4615.           Examples:
  4616.           _________
  4617.           Examples:
  4618.           _________
  4619.           Examples:
  4620.  
  4621.  
  4622.           To get help on using IHELP, type
  4623.  
  4624.                IHELP
  4625.                IHELP
  4626.                IHELP
  4627.  
  4628.           To get help on the InCommand ICOPY command, type
  4629.  
  4630.                IHELP ICOPY
  4631.                IHELP ICOPY
  4632.                IHELP ICOPY
  4633.  
  4634.  
  4635.  
  4636.  
  4637.  
  4638.           60   Utility Reference                         Inductive Logic
  4639.  
  4640.  
  4641.  
  4642.  
  4643.                                                                         IRD
  4644.                                                                         IRD
  4645.                                                                         IRD
  4646.  
  4647.  
  4648.           IRD 
  4649.           IRD 
  4650.           IRD wildcard-filespec
  4651.  
  4652.           Removes (deletes) directories
  4653.  
  4654.  
  4655.  
  4656.           __________
  4657.           Modifiers:
  4658.           __________
  4659.           Modifiers:
  4660.           __________
  4661.           Modifiers:
  4662.  
  4663.  
  4664.                +ASH           Select only directories with any of the given
  4665.                               attributes.  System and Hidden directories
  4666.                               are not selected by default
  4667.  
  4668.                -ASH           Do not select directories with any of the
  4669.                               given attributes
  4670.  
  4671.                /BEFORE[:date:time] Select files modified before a given
  4672.                               time
  4673.  
  4674.                /SINCE[:date:time]  Select files modified on or after a
  4675.                               given time
  4676.  
  4677.                /ON[:date:time]     Select files modified in the 24 hour
  4678.                               period beginning with the given time
  4679.  
  4680.                /BIGGER[:size] Select files bigger than (or equal to) the
  4681.                               given size
  4682.  
  4683.                /SMALLER[:size]     Select files smaller than (or equal to)
  4684.                               the given size
  4685.  
  4686.                /EXCLUDE:namespec   Do not select files which match the
  4687.                               wildcard-namespec
  4688.  
  4689.                /INDIVIDUALLY  Asks for confirmation before removing each
  4690.                               directory.
  4691.                               You may reply with <ENTER>, N, Y, Q, 
  4692.                                                  <ENTER>, N, Y, Q, 
  4693.                                                  <ENTER>, N, Y, Q, or A
  4694.                                                                       A
  4695.                                                                       A
  4696.  
  4697.                /NOCONFIRM     Do not ask for confirmation when removing
  4698.                               with wildcards
  4699.  
  4700.                /NOLIST        Do not list each directory as it is removed.
  4701.  
  4702.                /PROMPT        Synonym for /INDIVIDUALLY, compatible with
  4703.                               DOS 5
  4704.  
  4705.  
  4706.  
  4707.  
  4708.           InCommand User's Guide                 Utility Reference    61
  4709.  
  4710.  
  4711.  
  4712.  
  4713.           IRD
  4714.           IRD
  4715.           IRD
  4716.  
  4717.  
  4718.           ___________
  4719.           Exit codes:
  4720.           ___________
  4721.           Exit codes:
  4722.           ___________
  4723.           Exit codes:
  4724.  
  4725.                0    Normal         All specified directories removed
  4726.                                    successfully
  4727.                1    Information    User replied "no" to wildcard
  4728.                                    confirmation
  4729.                2    Warning        No directories match specifications
  4730.                3    Error          One or more directories removed, and one
  4731.                                    or more directories attempted could not
  4732.                                    be removed
  4733.                4    Fatal Error    Syntax error, or no directories could be
  4734.                                    removed
  4735.  
  4736.           If the wildcard-filespec includes any wildcard ("*" or "?"),  and
  4737.           you have specified neither /INDIVIDUALLY
  4738.                                      /INDIVIDUALLY
  4739.                                      /INDIVIDUALLY nor /NOCONFIRM
  4740.                                                        /NOCONFIRM
  4741.                                                        /NOCONFIRM, IRD will
  4742.           prompt you with the absolute pathname to be sure you really  want
  4743.           to remove  those directories.   You  may  reply Y
  4744.                                                           Y
  4745.                                                           Y(es) to  remove
  4746.           without confirming, N
  4747.                               N
  4748.                               N(o) to abort the command, or  I
  4749.                                                              I
  4750.                                                              I(ndividually)
  4751.           to confirm each  directory before removing.   Note  that once  in
  4752.           Individual mode,  you  may answer A
  4753.                                             A
  4754.                                             A(ll) to remove  the remaining
  4755.           directories without confirming each one.
  4756.  
  4757.           You can use  the /INDIVIDUALLY 
  4758.                            /INDIVIDUALLY 
  4759.                            /INDIVIDUALLY  option to individually  pick and
  4760.           choose among the set  of given directories.   It will ask you  to
  4761.           confirm each directory before removing it.  You may answer
  4762.  
  4763.                N  
  4764.                N  
  4765.                N  or  <ENTER>
  4766.                       <ENTER>
  4767.                       <ENTER> to keep the directory intact
  4768.                Y
  4769.                Y
  4770.                Y              to remove the directory
  4771.                Q
  4772.                Q
  4773.                Q              to quit removing
  4774.                A
  4775.                A
  4776.                A              to remove this and all subsequent directories
  4777.                               without confirmation
  4778.  
  4779.           If you  always  want  to  be  prompted  for  confirmation  before
  4780.           removing any  directories,  and want  to  avoid the  drudgery  of
  4781.           typing "/IN" each time, you can  instead make a batch file  which
  4782.           contains this one line:
  4783.                IRD %1 /INDIVIDUALLY
  4784.                IRD %1 /INDIVIDUALLY
  4785.                IRD %1 /INDIVIDUALLY
  4786.  
  4787.           Then, using the  batch file instead  of IRD, you  will always  be
  4788.           prompted before removing the first directory, and if  acceptable,
  4789.           you may reply A
  4790.                         A
  4791.                         A(ll) to remove all the directories without further
  4792.           prompting.
  4793.  
  4794.           If you specify /NOCONFIRM
  4795.                          /NOCONFIRM
  4796.                          /NOCONFIRM the directories will be deleted without
  4797.           asking for your confirmation even
  4798.                                        even
  4799.                                        even if you use wildcards.
  4800.  
  4801.  
  4802.  
  4803.  
  4804.           62   Utility Reference                         Inductive Logic
  4805.  
  4806.  
  4807.  
  4808.  
  4809.                                                                         IRD
  4810.                                                                         IRD
  4811.                                                                         IRD
  4812.  
  4813.  
  4814.           By default, IRD lists each directory entry as it is removed.  You
  4815.           may omit this  with the /NOLIST
  4816.                                   /NOLIST
  4817.                                   /NOLIST modifier.   IRD always prints  a
  4818.           summary of the directories removed.
  4819.  
  4820.           Note  that  a  directory   must  be  empty   of  all  files   and
  4821.           subdirectories to be removed.  IRD prints an error if a specified
  4822.           directory cannot be removed.  Note also that to remove a (parent)
  4823.           directory and all its subdirectories (a directory tree), you must
  4824.           first remove all the files, then all the subdirectories, and then
  4825.           the parent directory.   The InCommand  utility WIPEDIR (see  page
  4826.           84) does these operations  with one command,  and it will  prompt
  4827.           you before deleting anything.
  4828.  
  4829.           _________
  4830.           Examples:
  4831.           _________
  4832.           Examples:
  4833.           _________
  4834.           Examples:
  4835.  
  4836.  
  4837.           To remove all  directories with  one character  filenames in  the
  4838.           current directory, type
  4839.                IRD ?
  4840.                IRD ?
  4841.                IRD ?
  4842.  
  4843.           To remove all the empty  subdirectories in the current  directory
  4844.           tree, type
  4845.                IRD ...*.*
  4846.                IRD ...*.*
  4847.                IRD ...*.*
  4848.  
  4849.           To remove the two subdirectories TEMP  and SAVE from the  current
  4850.           directory, type
  4851.                IRD TEMP,SAVE
  4852.                IRD TEMP,SAVE
  4853.                IRD TEMP,SAVE
  4854.  
  4855.           To remove  the empty  subdirectories  in the  current  directory,
  4856.           except those beginning  with "A"  and those  beginning with  "B",
  4857.           type
  4858.                IRD *.* /EXCLUDE:A*,B*
  4859.                IRD *.* /EXCLUDE:A*,B*
  4860.                IRD *.* /EXCLUDE:A*,B*
  4861.  
  4862.           To individually ask about  removing all the empty  subdirectories
  4863.           in the current directory, but not below it, type
  4864.                IRD *.* /IND
  4865.                IRD *.* /IND
  4866.                IRD *.* /IND
  4867.  
  4868.  
  4869.  
  4870.  
  4871.  
  4872.  
  4873.  
  4874.  
  4875.  
  4876.  
  4877.  
  4878.  
  4879.  
  4880.           InCommand User's Guide                 Utility Reference    63
  4881.  
  4882.  
  4883.  
  4884.  
  4885.           IREN
  4886.           IREN
  4887.           IREN
  4888.  
  4889.  
  4890.           IREN  
  4891.           IREN  
  4892.           IREN  wildcard-filespec  new-filename
  4893.  
  4894.           Renames files
  4895.  
  4896.  
  4897.  
  4898.           __________
  4899.           Modifiers:
  4900.           __________
  4901.           Modifiers:
  4902.           __________
  4903.           Modifiers:
  4904.  
  4905.  
  4906.                +ASHR          Select only files with any of the given
  4907.                               attributes.
  4908.                               System and Hidden files are not selected by
  4909.                               default
  4910.  
  4911.                -ASHR          Do not select files with any of the given
  4912.                               attributes
  4913.  
  4914.                /BEFORE[:date:time] Select files modified before a given
  4915.                               time
  4916.  
  4917.                /SINCE[:date:time]  Select files modified on or after a
  4918.                               given time
  4919.  
  4920.                /ON[:date:time]     Select files modified in the 24 hour
  4921.                               period beginning with the given time
  4922.  
  4923.                /BIGGER[:size] Select files bigger than (or equal to) the
  4924.                               given size
  4925.  
  4926.                /SMALLER[:size]     Select files smaller than (or equal to)
  4927.                               the given size
  4928.  
  4929.                /EXCLUDE:namespec   Do not select files which match the
  4930.                               wildcard-namespec
  4931.  
  4932.                /NOLIST        Do not list new filenames as they are renamed
  4933.  
  4934.           ___________
  4935.           Exit codes:
  4936.           ___________
  4937.           Exit codes:
  4938.           ___________
  4939.           Exit codes:
  4940.  
  4941.                0    Normal         All specified files renamed normally
  4942.                2    Warning        No files match specifications
  4943.                3    Error          One or more files renamed, and one or
  4944.                                    more files attempted could not be
  4945.                                    renamed
  4946.                4    Fatal Error    Syntax error, or no specified files
  4947.                                    could be renamed
  4948.  
  4949.  
  4950.  
  4951.           64   Utility Reference                         Inductive Logic
  4952.  
  4953.  
  4954.  
  4955.  
  4956.                                                                        IREN
  4957.                                                                        IREN
  4958.                                                                        IREN
  4959.  
  4960.  
  4961.           The source files  are renamed  according to  new-filename.   Note
  4962.           that new-filename  is required.    New-filename may  contain  the
  4963.           usual destination  wildcards  ("*"  and "?").    See  the  Syntax
  4964.           Reference for  a  complete description  of  destination  filename
  4965.           formation (page 20).  New-filename may not contain any  drive or
  4966.           path.  Since renamed files  remain in their current  directories,
  4967.           there is no reason to specify a new path.   (If you want to  move
  4968.           files to a different directory, use the MOVE utility.)
  4969.  
  4970.           IREN is similar to the DOS RENAME command, but it allows the full
  4971.           InCommand file selection  capabilities.  Unlike  DOS, IREN  won't
  4972.           rename Read-only files (files with the Read-only attribute).  You
  4973.           must first  remove the  Read-only attribute  (with CHATT)  before
  4974.           renaming them.
  4975.  
  4976.           If the destination filename is only  an extension, the base  name
  4977.           defaults to  "*".   For  example,  a new-filename of  ".XYZ"  is
  4978.           equivalent to "*.XYZ".
  4979.  
  4980.           When a file is renamed, its modification date is unchanged.
  4981.  
  4982.           _________
  4983.           Examples:
  4984.           _________
  4985.           Examples:
  4986.           _________
  4987.           Examples:
  4988.  
  4989.  
  4990.           To rename all the  .BAK files in the  current directory to  .BKP,
  4991.           type
  4992.                IREN *.BAK .BKP
  4993.                IREN *.BAK .BKP
  4994.                IREN *.BAK .BKP
  4995.  
  4996.           To rename all the *.C and  *.ASM files to have a .BAK  extension,
  4997.           type
  4998.                IREN *.C,*.ASM *.BAK
  4999.                IREN *.C,*.ASM *.BAK
  5000.                IREN *.C,*.ASM *.BAK
  5001.  
  5002.           To rename all the  files in the  current directory, except  those
  5003.           named STD*.* or XYZ*.*, to have .OLD extensions, type
  5004.                IREN *.* *.OLD /EX:STD*,XYZ*
  5005.                IREN *.* *.OLD /EX:STD*,XYZ*
  5006.                IREN *.* *.OLD /EX:STD*,XYZ*
  5007.  
  5008.           If the current directory tree contains  .C and .H files, then  to
  5009.           rename all  the .C  files to  .CX and  all the  .H files  to  .HX
  5010.           extensions, type
  5011.                IREN ...*.? .?X
  5012.                IREN ...*.? .?X
  5013.                IREN ...*.? .?X
  5014.  
  5015.           Note that this  renames all files  with one-letter extensions  to
  5016.           add an "X" to the extension.
  5017.  
  5018.  
  5019.  
  5020.  
  5021.  
  5022.  
  5023.           InCommand User's Guide                 Utility Reference    65
  5024.  
  5025.  
  5026.  
  5027.  
  5028.           IREN
  5029.           IREN
  5030.           IREN
  5031.  
  5032.  
  5033.           To change  the first  character  of all  the  .DAT files  in  the
  5034.           current  directory  to  "A",  and  leave  the  2nd  through   8th
  5035.           characters unchanged, type
  5036.                IREN *.DAT A*.DAT
  5037.                IREN *.DAT A*.DAT
  5038.                IREN *.DAT A*.DAT
  5039.  
  5040.  
  5041.  
  5042.  
  5043.  
  5044.  
  5045.  
  5046.  
  5047.  
  5048.  
  5049.  
  5050.  
  5051.  
  5052.  
  5053.  
  5054.  
  5055.  
  5056.  
  5057.  
  5058.  
  5059.  
  5060.  
  5061.  
  5062.  
  5063.  
  5064.  
  5065.  
  5066.  
  5067.  
  5068.  
  5069.  
  5070.  
  5071.  
  5072.  
  5073.  
  5074.  
  5075.  
  5076.  
  5077.  
  5078.  
  5079.  
  5080.  
  5081.  
  5082.  
  5083.  
  5084.           66   Utility Reference                         Inductive Logic
  5085.  
  5086.  
  5087.  
  5088.  
  5089.                                                                        MOVE
  5090.                                                                        MOVE
  5091.                                                                        MOVE
  5092.  
  5093.  
  5094.           MOVE 
  5095.           MOVE 
  5096.           MOVE wildcard-filespec  [
  5097.                                   [
  5098.                                   [destination-filespec]
  5099.                                                        ]
  5100.                                                        ]
  5101.  
  5102.           Moves files to other directories
  5103.  
  5104.  
  5105.  
  5106.           __________
  5107.           Modifiers:
  5108.           __________
  5109.           Modifiers:
  5110.           __________
  5111.           Modifiers:
  5112.  
  5113.  
  5114.                +ASH           Select only files with any of the given
  5115.                               attributes.
  5116.                               System and Hidden files are not selected by
  5117.                               default
  5118.  
  5119.                -ASH           Do not select files with any of the given
  5120.                               attributes
  5121.  
  5122.                /BEFORE[:date:time] Select files modified before a given
  5123.                               time
  5124.  
  5125.                /SINCE[:date:time]  Select files modified on or after a
  5126.                               given time
  5127.  
  5128.                /ON[:date:time]     Select files modified in the 24 hour
  5129.                               period beginning with the given time
  5130.  
  5131.                /BIGGER[:size] Select files bigger than (or equal to) the
  5132.                               given size
  5133.  
  5134.                /SMALLER[:size]     Select files smaller than (or equal to)
  5135.                               the given size
  5136.  
  5137.                /EXCLUDE:namespec   Do not select files which match the
  5138.                               wildcard-namespec
  5139.  
  5140.                /BACKUP[:namespec]  If the destination file exists, it is
  5141.                               renamed to a backup name before the source
  5142.                               file is moved
  5143.  
  5144.                /BYEXTENSION   Move files alphabetically by extension first,
  5145.                               then name
  5146.  
  5147.                /BYSIZE        Move files in order of file size
  5148.  
  5149.                /BYTIME        Move files in order of modification date and
  5150.                               time
  5151.  
  5152.  
  5153.  
  5154.           InCommand User's Guide                 Utility Reference    67
  5155.  
  5156.  
  5157.  
  5158.  
  5159.           MOVE
  5160.           MOVE
  5161.           MOVE
  5162.  
  5163.  
  5164.                /CREATE        Create destination directories if they do not
  5165.                               already exist
  5166.  
  5167.                /FLATTEN       Put all destination files in a single
  5168.                               directory
  5169.  
  5170.                /NOLIST        Do not list filenames as they are moved
  5171.  
  5172.                /OVERWRITE     Overwrite destination files without
  5173.                               prompting.
  5174.  
  5175.           ___________
  5176.           Exit codes:
  5177.           ___________
  5178.           Exit codes:
  5179.           ___________
  5180.           Exit codes:
  5181.  
  5182.                0    Normal         All specified files moved normally
  5183.                2    Warning        No files match specifications
  5184.                3    Error          One or more files moved, and one or more
  5185.                                    files attempted could not be moved
  5186.                4    Fatal Error    Syntax error, or no specified files
  5187.                                    could be moved
  5188.  
  5189.           The source files are removed from their directories, and put into
  5190.           the destination directories and filenames.  MOVE does not
  5191.                                                                 not
  5192.                                                                 not create
  5193.           new files; it just moves existing ones to new directories  and/or
  5194.           names.  The files  are not copied;  only their directory  entries
  5195.           are changed.  This  makes MOVE very fast,  no matter how big  the
  5196.           files are.
  5197.  
  5198.           The destination filespec may not include any directory wildcards,
  5199.           but it  may specify  a directory  path.   If that  path does  not
  5200.           exist, MOVE will not
  5201.                            not
  5202.                            not, by default, create it.  If you want MOVE to
  5203.           create destination  directories  as  it  moves  files,  you  must
  5204.           specify the /CREATE
  5205.                       /CREATE
  5206.                       /CREATE modifier.
  5207.  
  5208.           The destination filename may include wildcards, just like ICOPY.
  5209.           See the Syntax Reference (page 20) for a complete description of
  5210.           destination wildcards.
  5211.  
  5212.           Because MOVE can  only move files  within a  disk partition,  the
  5213.           source and destination drive  letters must map  to the same  disk
  5214.           partition.  The drive letters may be different if you  use SUBST
  5215.           or network mappings that put them on the same disk partition.
  5216.  
  5217.           If the destination  filename is  omitted, it  defaults to  "*.*".
  5218.           This means that if no destination  filespec is given, files  will
  5219.           be moved with their current names into the current directory.  If
  5220.           the destination filespec  is a directory,  then each source  file
  5221.  
  5222.  
  5223.  
  5224.           68   Utility Reference                         Inductive Logic
  5225.  
  5226.  
  5227.  
  5228.  
  5229.                                                                        MOVE
  5230.                                                                        MOVE
  5231.                                                                        MOVE
  5232.  
  5233.  
  5234.           will be moved to a destination file of the same name in the given
  5235.           directory.
  5236.  
  5237.           If  the  destination  file  already  exists,  and  you  have  not
  5238.           specified /OVERWRITE, then MOVE asks you what to do.  You have  4
  5239.           choices:
  5240.  
  5241.                O 
  5242.                O 
  5243.                O              O
  5244.                               O
  5245.                               Overwrite the destination file
  5246.                S
  5247.                S
  5248.                S              S
  5249.                               S
  5250.                               Skip this file
  5251.                A
  5252.                A
  5253.                A              overwrite this and A
  5254.                                                  A
  5255.                                                  All subsequent files, with
  5256.                               no more prompting
  5257.                Q
  5258.                Q
  5259.                Q              Q
  5260.                               Q
  5261.                               Quit.
  5262.  
  5263.           MOVE will not move files with the Read-only attribute.
  5264.  
  5265.           When you  specify directory  wildcards ("?",  "*", or  ". .  ."),
  5266.           MOVE, by default, expects the destination subdirectories to exist
  5267.           which  replicate  the  source  directory  structure.      If  the
  5268.           destination directory structure does not  exist, you can use  the
  5269.           /CREATE
  5270.           /CREATE
  5271.           /CREATE modifier to  have MOVE create  the destination  directory
  5272.           structure.  This allows you to move entire directory trees with a
  5273.           single command.    But note that MOVE  does not move  directories
  5274.           (although it may create them with the /CREATE
  5275.                                                 /CREATE
  5276.                                                 /CREATE modifier).  If you
  5277.           MOVE all the  files out of  a directory, the  empty directory  is
  5278.           left behind.  To actually move  a directory (including any  files
  5279.           or subdirectories it may have), use the MOVEDIR command.
  5280.  
  5281.           Alternatively, you can use the /FLATTEN
  5282.                                          /FLATTEN
  5283.                                          /FLATTEN modifier to put all  the
  5284.           destination files  in a  single  directory (thus  flattening  the
  5285.           source directory structure).
  5286.  
  5287.           When you MOVE a file, its modification date is unchanged.
  5288.  
  5289.           If the source directory is the same as the destination directory,
  5290.           MOVE  will  simply  rename  the  files  (though  the  syntax   is
  5291.           necessarily different  from the  IREN  or DOS  RENAME  commands).
  5292.           With IREN or RENAME, you  cannot specify a destination  directory
  5293.           path, and files are never moved to other directories.
  5294.  
  5295.           /BACKUP
  5296.           /BACKUP
  5297.           /BACKUP allows you  to overwrite an  existing file, but  preserve
  5298.           the original by renaming it to a backup name.  The default backup
  5299.           name is "*.BAK".  For example, if you type
  5300.                MOVE FILEA.C FILEB.C /BACKUP
  5301.                MOVE FILEA.C FILEB.C /BACKUP
  5302.                MOVE FILEA.C FILEB.C /BACKUP
  5303.  
  5304.           and if  FILEB.C  already  exists, then  it  will  be  renamed  to
  5305.           FILEB.BAK, and then FILEA.C will be MOVEd into FILEB.C.
  5306.  
  5307.  
  5308.  
  5309.           InCommand User's Guide                 Utility Reference    69
  5310.  
  5311.  
  5312.  
  5313.  
  5314.           MOVE
  5315.           MOVE
  5316.           MOVE
  5317.  
  5318.  
  5319.           You can  use any  destination file  pattern  you choose  for  the
  5320.           backup filename,  by entering  a destination-namespec after  the
  5321.           /BACKUP.  For example, if you want your backup files to be called
  5322.           *.OLD, you can enter
  5323.                MOVE FILEA.C FILEB.C /BA:*.OLD
  5324.                MOVE FILEA.C FILEB.C /BA:*.OLD
  5325.                MOVE FILEA.C FILEB.C /BA:*.OLD
  5326.  
  5327.           The wildcard pattern can be any destination-namespec , but it may
  5328.           not include  a  directory.    Backups  are  always  made  in  the
  5329.           directory  in  which  the  original  exists.    As  always   with
  5330.           destination-filespecs, if you omit the base name, "*" is  implied
  5331.           (e.g., ".BAK" is equivalent to "*.BAK").
  5332.  
  5333.           Note that if the backup file  already exists, it is deleted,  and
  5334.           replaced by the current file.
  5335.  
  5336.           By default, files are  moved in alphabetical  order.  This  means
  5337.           that if  you  move  a set  of  files  to a  new  directory,  that
  5338.           directory will be physically sorted on the disk.  You can  choose
  5339.           to move files in a different order with the /BYTIME, /BYSIZE
  5340.                                                       /BYTIME, /BYSIZE
  5341.                                                       /BYTIME, /BYSIZE, and
  5342.           /BYEXTENSION 
  5343.           /BYEXTENSION 
  5344.           /BYEXTENSION modifiers.  With these,  you can create directories
  5345.           sorted any way  you like.   See  the Applications  section for  a
  5346.           description of "Physically Sorting a Directory" (page 92).
  5347.  
  5348.           _________
  5349.           Examples:
  5350.           _________
  5351.           Examples:
  5352.           _________
  5353.           Examples:
  5354.  
  5355.  
  5356.           To move  all the  .BAK  files in  the  current directory  to  the
  5357.           subdirectory BACKUP\, type
  5358.                MOVE *.BAK BACKUP\
  5359.                MOVE *.BAK BACKUP\
  5360.                MOVE *.BAK BACKUP\
  5361.  
  5362.           To move all of the files with 2 character names starting with  A,
  5363.           to the subdirectory A\, type
  5364.                MOVE A?.* A\
  5365.                MOVE A?.* A\
  5366.                MOVE A?.* A\
  5367.  
  5368.           To move all the *.C and *.H files in the A\ directory tree to  an
  5369.           existing similar directory tree named B\, type
  5370.                MOVE A\...*.C,*.H B\
  5371.                MOVE A\...*.C,*.H B\
  5372.                MOVE A\...*.C,*.H B\
  5373.  
  5374.           To move all the files in  the current directory, except the  .OBJ
  5375.           and .EXE files, to the subdirectory SAVE\, type
  5376.                MOVE *.* SAVE\ /EX:.OBJ,.EXE
  5377.                MOVE *.* SAVE\ /EX:.OBJ,.EXE
  5378.                MOVE *.* SAVE\ /EX:.OBJ,.EXE
  5379.  
  5380.           To move  all the  .C files  in the  current directory  tree,  and
  5381.           create a new, sibling directory tree named NEW\, type
  5382.                MOVE ...*.C ..\NEW\ /CREATE
  5383.                MOVE ...*.C ..\NEW\ /CREATE
  5384.                MOVE ...*.C ..\NEW\ /CREATE
  5385.  
  5386.  
  5387.  
  5388.  
  5389.           70   Utility Reference                         Inductive Logic
  5390.  
  5391.  
  5392.  
  5393.  
  5394.                                                                        MOVE
  5395.                                                                        MOVE
  5396.                                                                        MOVE
  5397.  
  5398.  
  5399.           To move all the .OBJ files  in the current directory tree to  the
  5400.           directory \OBJ\ (i.e., OBJ\ in the root), type
  5401.                MOVE ...*.OBJ \OBJ\ /FLAT
  5402.                MOVE ...*.OBJ \OBJ\ /FLAT
  5403.                MOVE ...*.OBJ \OBJ\ /FLAT
  5404.  
  5405.           To effectively  move a  directory tree  (say, on  a network  that
  5406.           doesn't support MOVEDIR), type
  5407.                MOVE OLD\...*.* NEW\ /CREATE
  5408.                MOVE OLD\...*.* NEW\ /CREATE
  5409.                MOVE OLD\...*.* NEW\ /CREATE       this leaves a bare tree
  5410.                                         behind in OLD\. . .
  5411.                WIPEDIR OLD
  5412.                WIPEDIR OLD
  5413.                WIPEDIR OLD
  5414.  
  5415.  
  5416.  
  5417.  
  5418.  
  5419.  
  5420.  
  5421.  
  5422.  
  5423.  
  5424.  
  5425.  
  5426.  
  5427.  
  5428.  
  5429.  
  5430.  
  5431.  
  5432.  
  5433.  
  5434.  
  5435.  
  5436.  
  5437.  
  5438.  
  5439.  
  5440.  
  5441.  
  5442.  
  5443.  
  5444.  
  5445.  
  5446.  
  5447.  
  5448.  
  5449.  
  5450.  
  5451.  
  5452.  
  5453.  
  5454.           InCommand User's Guide                 Utility Reference    71
  5455.  
  5456.  
  5457.  
  5458.  
  5459.           MOVEDIR
  5460.           MOVEDIR
  5461.           MOVEDIR
  5462.  
  5463.  
  5464.           MOVEDIR 
  5465.           MOVEDIR 
  5466.           MOVEDIR wildcard-filespec 
  5467.                                     
  5468.                                     [
  5469.                                     [
  5470.                                     [destination-filespec]
  5471.                                                          ]
  5472.                                                          ]
  5473.  
  5474.           Renames subdirectories, or moves them to other directories
  5475.  
  5476.  
  5477.  
  5478.           __________
  5479.           Modifiers:
  5480.           __________
  5481.           Modifiers:
  5482.           __________
  5483.           Modifiers:
  5484.  
  5485.  
  5486.                +ASH           Select only directories with any of the given
  5487.                               attributes.  System and Hidden directories
  5488.                               are not selected by default
  5489.  
  5490.                -ASH           Do not select directories with any of the
  5491.                               given attributes
  5492.  
  5493.                /BEFORE[:date:time] Select files modified before a given
  5494.                               time
  5495.  
  5496.                /SINCE[:date:time]  Select files modified on or after a
  5497.                               given time
  5498.  
  5499.                /ON[:date:time]     Select files modified in the 24 hour
  5500.                               period beginning with the given time
  5501.  
  5502.                /EXCLUDE:namespec   Do not select files which match the
  5503.                               wildcard-namespec
  5504.  
  5505.                /CREATE        Create destination directories if they do not
  5506.                               already exist
  5507.  
  5508.                /FLATTEN       Move all directories to a single directory
  5509.  
  5510.                /NOLIST        Do not list directory names as they are moved
  5511.  
  5512.           ___________
  5513.           Exit codes:
  5514.           ___________
  5515.           Exit codes:
  5516.           ___________
  5517.           Exit codes:
  5518.  
  5519.                0    Normal         Directories successfully moved.
  5520.                1    Information    User replied "no" to wildcard
  5521.                                    confirmation
  5522.                2    Warning        No directories match specifications
  5523.                3    Error          One or more directories moved, and one
  5524.                                    or more directories attempted could not
  5525.                                    be moved
  5526.                4    Fatal Error    Syntax error, or no directories could be
  5527.                                    moved
  5528.  
  5529.  
  5530.  
  5531.           72   Utility Reference                         Inductive Logic
  5532.  
  5533.  
  5534.  
  5535.  
  5536.                                                                     MOVEDIR
  5537.                                                                     MOVEDIR
  5538.                                                                     MOVEDIR
  5539.  
  5540.  
  5541.           MOVEDIR moves a directory (or set of directories), and  therefore
  5542.           all its contents  including all  lower subdirectories,  to a  new
  5543.           directory and  name.   If the  specified source  and  destination
  5544.           directories are  siblings, then  the source  directory is  simply
  5545.           renamed.    As  always,  you  can  use  wildcards  to  move  many
  5546.           directories with one command.
  5547.  
  5548.           MOVEDIR is  an  advanced function,  and  its operation  may  seem
  5549.           somewhat confusing at first.  Like the MOVE command, no files are
  5550.           copied or deleted.   Only directory  entries are  changed.   This
  5551.           means you can move hundreds of megabytes of data instantly,  even
  5552.           if you have no free space left on your disk.
  5553.  
  5554.           The destination-filespec may specify a directory path, and if it
  5555.           does not exist, MOVEDIR will not, by default, create it.  If  you
  5556.           want MOVEDIR  to  create  destination  directories  as  it  moves
  5557.           directories,  you  must  specify  the  /CREATE
  5558.                                                  /CREATE
  5559.                                                  /CREATE  modifier.    The
  5560.           destination name may include wildcards, just like ICOPY.  See the
  5561.           Syntax  Reference  (page  20)  for  a  complete  description  of
  5562.           destination wildcards.
  5563.  
  5564.  
  5565.                                        Warning
  5566.                                        Warning
  5567.                                        Warning
  5568.  
  5569.                You  should   not  use   MOVEDIR  in   a   multitasking
  5570.                environment (e.g. Windows in 386 enhanced mode) to move
  5571.                directories, but you may use it to safely rename  them.
  5572.                Because   MOVEDIR   directly   manipulates   the   disk
  5573.                structure, and most versions of  DOS provide no way  to
  5574.                lock the  disk  during  these  operations,  a  conflict
  5575.                between  MOVEDIR  and  concurrent  tasks  could   cause
  5576.                corruption of the disk, and a loss of data.
  5577.  
  5578.           Because  MOVEDIR  can  only   move  directories  within  a   disk
  5579.           partition, the source and destination  drive letters must be  the
  5580.           same.
  5581.  
  5582.           MOVEDIR will not move directories with the Read-only attribute.
  5583.  
  5584.           When you specify directory  wildcards ("?", "*", or  ". . .")  in
  5585.           the source filespec, MOVEDIR, by default, expects the destination
  5586.           subdirectories to  exist  which replicate  the  source  directory
  5587.           structure.    If  the destination  directory structure  does  not
  5588.           exist, you can use  the /CREATE
  5589.                                   /CREATE
  5590.                                   /CREATE modifier to  have MOVEDIR create
  5591.           the destination directory structure.  Alternatively, you can  use
  5592.           the /FLATTEN
  5593.               /FLATTEN
  5594.               /FLATTEN modifier  to put  all the  destination  files in  a
  5595.  
  5596.  
  5597.  
  5598.           InCommand User's Guide                 Utility Reference    73
  5599.  
  5600.  
  5601.  
  5602.  
  5603.           MOVEDIR
  5604.           MOVEDIR
  5605.           MOVEDIR
  5606.  
  5607.  
  5608.           single  directory   (thus   flattening   the   source   directory
  5609.           structure).  Note that /FLATTEN
  5610.                                  /FLATTEN
  5611.                                  /FLATTEN does not flatten the directories
  5612.           that are moved.   It simply  moves all  the selected  directories
  5613.           from an existing tree into a single directory.
  5614.  
  5615.           MOVEDIR allows  a  full  wildcard-filespec, which  can  lead  to
  5616.           unexpected things if you are not  careful.  For example, you  can
  5617.           use the ". .  ." directory wildcard, but  if all the first  level
  5618.           subdirectories are moved, then there  is, by definition, no  more
  5619.           directory tree left to move.  However, notice that ". . ." may be
  5620.           useful with filespecs other than "*.*".
  5621.  
  5622.           Because DOS does not directly support moving directories, MOVEDIR
  5623.           chooses one of several methods to  effect its function.  In  some
  5624.           cases (such as  network drives),  MOVEDIR uses  DOS functions  to
  5625.           create the destination  directory tree, move  each file into  it,
  5626.           and remove  the  old tree.    In  this case,  the  newly  created
  5627.           directories will  have  the  current date/time  stamp,  and  will
  5628.           retain only the  standard DOS attributes.   Any extended  network
  5629.           attributes on any directory in the tree being moved will be lost.
  5630.  
  5631.           Because DOS  does  not  record  directory  sizes,  the  modifiers
  5632.           /BIGGER
  5633.           /BIGGER
  5634.           /BIGGER and /SMALLER
  5635.                       /SMALLER
  5636.                       /SMALLER have no meaning to MOVEDIR.
  5637.  
  5638.           _________
  5639.           Examples:
  5640.           _________
  5641.           Examples:
  5642.           _________
  5643.           Examples:
  5644.  
  5645.  
  5646.           If you have a directory path (from the root) of \LEVEL1\DEEP, you
  5647.           can move it to the root directory and name it SHALLOW with this:
  5648.                MOVEDIR \LEVEL1\DEEP \SHALLOW
  5649.                MOVEDIR \LEVEL1\DEEP \SHALLOW
  5650.                MOVEDIR \LEVEL1\DEEP \SHALLOW
  5651.  
  5652.           Move DEEP to the root, and change its name to SHALLOW.
  5653.  
  5654.           If you want to move a directory from one level into another,  you
  5655.           can type
  5656.                MOVEDIR \LEVEL1\SHALLOW \LEVEL1\LEVEL2\  /CREATE
  5657.                MOVEDIR \LEVEL1\SHALLOW \LEVEL1\LEVEL2\  /CREATE
  5658.                MOVEDIR \LEVEL1\SHALLOW \LEVEL1\LEVEL2\  /CREATE
  5659.  
  5660.           This moves LEVEL1\SHALLOW to \LEVEL1\LEVEL2\SHALLOW.  Notice that
  5661.           in this case  the destination  is a  directory (i.e.  it ends  in
  5662.           "\"), so the subdirectory SHALLOW was moved into \LEVEL1\LEVEL2\,
  5663.           and kept its name.
  5664.  
  5665.  
  5666.  
  5667.  
  5668.  
  5669.  
  5670.  
  5671.  
  5672.           74   Utility Reference                         Inductive Logic
  5673.  
  5674.  
  5675.  
  5676.  
  5677.                                                                      SEARCH
  5678.                                                                      SEARCH
  5679.                                                                      SEARCH
  5680.  
  5681.  
  5682.           SEARCH  
  5683.           SEARCH  
  5684.           SEARCH  wildcard-filespec  text-string
  5685.  
  5686.           Searches files for a text string
  5687.  
  5688.  
  5689.  
  5690.           __________
  5691.           Modifiers:
  5692.           __________
  5693.           Modifiers:
  5694.           __________
  5695.           Modifiers:
  5696.  
  5697.  
  5698.                +ASHR          Select only files with any of the given
  5699.                               attributes
  5700.  
  5701.                -ASHR          Do not select files with any of the given
  5702.                               attributes
  5703.  
  5704.                /BEFORE[:date:time] Select files modified before a given
  5705.                               time
  5706.  
  5707.                /SINCE[:date:time]  Select files modified on or after a
  5708.                               given time
  5709.  
  5710.                /ON[:date:time]     Select files modified in the 24 hour
  5711.                               period beginning with the given time
  5712.  
  5713.                /BIGGER[:size] Select files bigger than (or equal to) the
  5714.                               given size
  5715.  
  5716.                /SMALLER[:size]     Select files smaller than (or equal to)
  5717.                               the given size
  5718.  
  5719.                /EXCLUDE:namespec   Do not select files which match the
  5720.                               wildcard-namespec
  5721.  
  5722.                /CASE          Case sensitive search
  5723.  
  5724.                /FILES         List only filenames containing a match
  5725.  
  5726.                /LIST[:window-size] List a window of lines around each
  5727.                               matching line
  5728.  
  5729.                /LOG[:window-size]  Disables all CRT specific aspects of the
  5730.                               output (e.g. highlighting, browsing)
  5731.  
  5732.                /NONUMBER      In list mode, list lines without line numbers
  5733.  
  5734.  
  5735.  
  5736.  
  5737.  
  5738.           InCommand User's Guide                 Utility Reference    75
  5739.  
  5740.  
  5741.  
  5742.  
  5743.           SEARCH
  5744.           SEARCH
  5745.           SEARCH
  5746.  
  5747.  
  5748.                /WORD          Match whole words (or C identifiers) only,
  5749.                               not fragments of words
  5750.  
  5751.           ___________
  5752.           Exit codes:
  5753.           ___________
  5754.           Exit codes:
  5755.           ___________
  5756.           Exit codes:
  5757.  
  5758.                0    Normal         One or more files found containing text-
  5759.                                    string
  5760.                1    Information    No files found containing text-string
  5761.                2    Warning        No files matched given specifications
  5762.                4    Fatal Error    Syntax error
  5763.  
  5764.           SEARCH scans through the selected files looking for text matching
  5765.           your text-string.  Unless you specify /LIST
  5766.                                                 /LIST
  5767.                                                 /LIST or /LOG
  5768.                                                          /LOG
  5769.                                                          /LOG, or redirect
  5770.           the output, SEARCH uses  "browse mode".  When  a match is  found,
  5771.           you get a full screen view of the lines around the match, and you
  5772.           can freely  browse  back and  forth  anywhere through  the  file.
  5773.           SEARCH highlights the current match  on the screen, and  displays
  5774.           the line number and file name of  the match in the prompt bar  at
  5775.           the bottom of the screen.
  5776.  
  5777.  
  5778.  
  5779.  
  5780.  
  5781.  
  5782.  
  5783.  
  5784.  
  5785.  
  5786.  
  5787.  
  5788.  
  5789.  
  5790.  
  5791.  
  5792.  
  5793.  
  5794.  
  5795.  
  5796.  
  5797.  
  5798.  
  5799.  
  5800.  
  5801.  
  5802.  
  5803.  
  5804.  
  5805.  
  5806.           76   Utility Reference                         Inductive Logic
  5807.  
  5808.  
  5809.  
  5810.  
  5811.                                                                      SEARCH
  5812.                                                                      SEARCH
  5813.                                                                      SEARCH
  5814.  
  5815.  
  5816.           While browsing, use the <up>, <down>, <left>, <Ctrl-left>, <right>,
  5817.           <PgUp>, <PgDn>, <End> and <Home> keys to move around  in the text.
  5818.           The prompt bar at the bottom of the screen lists the valid
  5819.           keystrokes at all times:
  5820.  
  5821.                <F1>
  5822.                <F1>
  5823.                <F1>           Help, including current file directory
  5824.                               information
  5825.  
  5826.                N  
  5827.                N  
  5828.                N  or <space>
  5829.                      <space>
  5830.                      <space>  Find the next occurrence of text-string
  5831.  
  5832.                P
  5833.                P
  5834.                P              Find the previous occurrence of text-string
  5835.                               (in the current file)
  5836.  
  5837.                S
  5838.                S
  5839.                S              Skip to the next file containing text-string
  5840.  
  5841.                C
  5842.                C
  5843.                C              Center the current match on the screen
  5844.  
  5845.                Q  
  5846.                Q  
  5847.                Q  or  <ESC>
  5848.                       <ESC>
  5849.                       <ESC>   Quit SEARCH
  5850.  
  5851.                <down>         Scroll to next line
  5852.  
  5853.                <up>           Scroll to previous line
  5854.  
  5855.                <left>         Shift view 8 columns left
  5856.  
  5857.                <Ctrl>
  5858.                <Ctrl>
  5859.                <Ctrl><left>   Return to column 1
  5860.  
  5861.                <right>        Shift view 8 columns right
  5862.  
  5863.                <PgUp>
  5864.                <PgUp>
  5865.                <PgUp>         Page up a screenful
  5866.  
  5867.                <PgDn>
  5868.                <PgDn>
  5869.                <PgDn>         Page down a screenful
  5870.  
  5871.                <End>
  5872.                <End>
  5873.                <End>          Display end of file
  5874.  
  5875.                <Home>
  5876.                <Home>
  5877.                <Home>         Display beginning of file
  5878.  
  5879.           By default, SEARCH flashes  on the screen the  name of each  file
  5880.           being searched, so you can follow its progress.
  5881.  
  5882.           If you specify /LIST
  5883.                          /LIST
  5884.                          /LIST or /LOG
  5885.                                   /LOG
  5886.                                   /LOG (or if the output is redirected to a
  5887.           file), SEARCH prints each  line that contains  a match for  text-
  5888.           string.  Optionally, you can list several lines surrounding  each
  5889.           line matching text-string, by entering the "window size" with the
  5890.           /LIST
  5891.           /LIST
  5892.           /LIST or /LOG
  5893.                    /LOG
  5894.                    /LOG modifier.  For example, to see a window of 5 lines
  5895.           (2 above and 2  below) around each matching  line, you could  use
  5896.           /LIST:5
  5897.           /LIST:5
  5898.           /LIST:5.  Note that you can give a window size of zero, and get a
  5899.  
  5900.  
  5901.  
  5902.           InCommand User's Guide                 Utility Reference    77
  5903.  
  5904.  
  5905.  
  5906.  
  5907.           SEARCH
  5908.           SEARCH
  5909.           SEARCH
  5910.  
  5911.  
  5912.           list of filenames and  the total number  of occurrences of  text-
  5913.           string.
  5914.  
  5915.           The  /LOG
  5916.                /LOG
  5917.                /LOG  modifier  additionally   removes  any   CRT  specific
  5918.           formatting of  SEARCH output.   SEARCH  will not
  5919.                                                        not
  5920.                                                        not flash  the file
  5921.           names on  the screen  as the  files are  searched, and  will  not
  5922.                                                                         not
  5923.                                                                         not
  5924.           highlight the text-string in the  output lines.   Though  SEARCH
  5925.           automatically recognizes when its output is redirected to a file,
  5926.           you can use the /LOG
  5927.                           /LOG
  5928.                           /LOG modifier for applications where  the output
  5929.           is not redirected, but CRT specific output is not appropriate.
  5930.  
  5931.           If your  text-string contains  any  spaces,  commas,  or  double
  5932.           quotation marks, you must use  a special syntax for  text-string.
  5933.           First, enclose the  text-string in double  quotations.  Then  you
  5934.           can include any  comma or space  between the double  quotes.   To
  5935.           include a double quote in such  a text-string, enter a backslash
  5936.           before the  double  quote.   Any  backslash interprets  the  next
  5937.           character literally, so to include  a backslash in a  text-string
  5938.           that is enclosed in quotes, enter 2 backslashes.  For example:
  5939.                SEARCH * "a b,c"
  5940.                SEARCH * "a b,c"
  5941.                SEARCH * "a b,c"         search for the string "a b,c"
  5942.                SEARCH "\"abc\""
  5943.                SEARCH "\"abc\""
  5944.                SEARCH "\"abc\""         search for the string "abc"
  5945.                                         enclosed in quotes
  5946.  
  5947.           In list mode, SEARCH displays lines with their line numbers.  Use
  5948.           /NONUMBER
  5949.           /NONUMBER
  5950.           /NONUMBER to display lines without line numbers.
  5951.  
  5952.           /FILES
  5953.           /FILES
  5954.           /FILES lists only the filenames containing text matches.  This is
  5955.           faster than  list mode,  because the  search stops  in each  file
  5956.           after the first match.
  5957.  
  5958.           By default,  searches  are case  blind;  that is,  SEARCH  treats
  5959.           upper- and lower-  as the  same.   If searching  for "abc",  then
  5960.           "ABC" will also match.  /CASE
  5961.                                   /CASE
  5962.                                   /CASE specifies a case sensitive search.
  5963.           Text must exactly match the case you typed in text-string.
  5964.  
  5965.           /WORD
  5966.           /WORD
  5967.           /WORD specifies that the text in a  file must begin and end at  a
  5968.           word boundary to be a  match.  In other  words, the text must  be
  5969.           preceded and  followed  by  non-word characters.    For  example,
  5970.           without /WORD
  5971.                   /WORD
  5972.                   /WORD, if you search for "and", then it would be found in
  5973.           the word  "command
  5974.                          and
  5975.                          and" (the  last 3  letters).   With /WORD
  5976.                                                              /WORD
  5977.                                                              /WORD, SEARCH
  5978.           would only find the word "and" as a whole word, and not  embedded
  5979.           within another word.  Programmers can use this to find C language
  5980.           identifiers, because  "word"  characters  are  all  the  letters,
  5981.           digits, and the underscore ("_").
  5982.  
  5983.  
  5984.  
  5985.  
  5986.  
  5987.           78   Utility Reference                         Inductive Logic
  5988.  
  5989.  
  5990.  
  5991.  
  5992.                                                                      SEARCH
  5993.                                                                      SEARCH
  5994.                                                                      SEARCH
  5995.  
  5996.  
  5997.           _________
  5998.           Examples:
  5999.           _________
  6000.           Examples:
  6001.           _________
  6002.           Examples:
  6003.  
  6004.  
  6005.           To find all occurrences of the string "XYZZY", in any combination
  6006.           of upper- or lower-case, in your *.C and *.H files, type
  6007.                SEARCH .C,.H XYZZY
  6008.                SEARCH .C,.H XYZZY
  6009.                SEARCH .C,.H XYZZY
  6010.  
  6011.           To find only the occurrences in all capitals, type
  6012.                SEARCH .C XYZZY /CASE
  6013.                SEARCH .C XYZZY /CASE
  6014.                SEARCH .C XYZZY /CASE
  6015.  
  6016.           To find  all the  files in  the current  directory which  contain
  6017.           "inductive", without listing the matching lines, type
  6018.                SEARCH * INDUCTIVE/FILES
  6019.                SEARCH * INDUCTIVE/FILES
  6020.                SEARCH * INDUCTIVE/FILES
  6021.  
  6022.           To see a  window of 5  lines (2 above  and 2  below) around  each
  6023.           matching line for "logic", type
  6024.                SEARCH * LOGIC/LI:5
  6025.                SEARCH * LOGIC/LI:5
  6026.                SEARCH * LOGIC/LI:5
  6027.  
  6028.           To find all occurrences of the  string "A,B" in the files in  the
  6029.           SOURCE\ directory, excluding the *.BAK and *.TMP files, type
  6030.                SEARCH SOURCE\ /EX:.BAK,.TMP "A,B"
  6031.                SEARCH SOURCE\ /EX:.BAK,.TMP "A,B"
  6032.                SEARCH SOURCE\ /EX:.BAK,.TMP "A,B"
  6033.  
  6034.           To  search  for  the  text  string  XYZ  in  all  the  files   in
  6035.           subdirectories with two character names starting with A, type
  6036.                SEARCH A?\ XYZ
  6037.                SEARCH A?\ XYZ
  6038.                SEARCH A?\ XYZ
  6039.  
  6040.  
  6041.  
  6042.  
  6043.  
  6044.  
  6045.  
  6046.  
  6047.  
  6048.  
  6049.  
  6050.  
  6051.  
  6052.  
  6053.  
  6054.  
  6055.  
  6056.  
  6057.  
  6058.  
  6059.  
  6060.  
  6061.  
  6062.  
  6063.           InCommand User's Guide                 Utility Reference    79
  6064.  
  6065.  
  6066.  
  6067.  
  6068.           TOUCH
  6069.           TOUCH
  6070.           TOUCH
  6071.  
  6072.  
  6073.           TOUCH  
  6074.           TOUCH  
  6075.           TOUCH  wildcard-filespec
  6076.  
  6077.           Sets the file modification times to any value
  6078.  
  6079.  
  6080.  
  6081.           __________
  6082.           Modifiers:
  6083.           __________
  6084.           Modifiers:
  6085.           __________
  6086.           Modifiers:
  6087.  
  6088.  
  6089.                +ASH           Select only files with any of the given
  6090.                               attributes.
  6091.                               System and Hidden files are not selected by
  6092.                               default
  6093.  
  6094.                -ASH           Do not select files with any of the given
  6095.                               attributes
  6096.  
  6097.                /BEFORE[:date:time] Select files modified before a given
  6098.                               time
  6099.  
  6100.                /SINCE[:date:time]  Select files modified on or after a
  6101.                               given time
  6102.  
  6103.                /ON[:date:time]     Select files modified in the 24 hour
  6104.                               period beginning with the given time
  6105.  
  6106.                /BIGGER[:size] Select files bigger than (or equal to) the
  6107.                               given size
  6108.  
  6109.                /SMALLER[:size]     Select files smaller than (or equal to)
  6110.                               the given size
  6111.  
  6112.                /EXCLUDE:namespec   Do not select files which match the
  6113.                               wildcard-namespec
  6114.  
  6115.                /TIME[:date:time]   Set the file modification time to the
  6116.                               given time.
  6117.  
  6118.           ___________
  6119.           Exit codes:
  6120.           ___________
  6121.           Exit codes:
  6122.           ___________
  6123.           Exit codes:
  6124.  
  6125.  
  6126.                0    Normal         All specified files touched
  6127.                2    Warning        No files matched given specifications
  6128.                3    Error          Some files touched, some attempted but
  6129.                                    failed
  6130.  
  6131.  
  6132.  
  6133.  
  6134.           80   Utility Reference                         Inductive Logic
  6135.  
  6136.  
  6137.  
  6138.  
  6139.                                                                       TOUCH
  6140.                                                                       TOUCH
  6141.                                                                       TOUCH
  6142.  
  6143.  
  6144.                4    Fatal Error    Syntax error, or no files could be
  6145.                                    touched
  6146.  
  6147.           TOUCH sets the file modification time of the given files.  If the
  6148.           /TIME
  6149.           /TIME
  6150.           /TIME modifier is not used, all the files are set to the  current
  6151.           date and time.  In this  case, TOUCH sets all specified files  to
  6152.           the same time, even if the touch operation takes several  seconds
  6153.           to complete.
  6154.  
  6155.           If the /TIME
  6156.                  /TIME
  6157.                  /TIME modifier is used, the syntax is exactly the same as
  6158.           for /BEFORE
  6159.               /BEFORE
  6160.               /BEFORE, /SINCE
  6161.                        /SINCE
  6162.                        /SINCE and /ON
  6163.                                   /ON
  6164.                                   /ON.  The default dates and times are the
  6165.           same also: if  the date is  omitted, it defaults  to the  current
  6166.           day.  If the time is omitted, it defaults to 0:00:00.
  6167.  
  6168.           _________
  6169.           Examples:
  6170.           _________
  6171.           Examples:
  6172.           _________
  6173.           Examples:
  6174.  
  6175.  
  6176.           To set all the files with  .C and .H extensions to show  modified
  6177.           as of now, type
  6178.                TOUCH *.C,*.H
  6179.                TOUCH *.C,*.H
  6180.                TOUCH *.C,*.H
  6181.  
  6182.           To set all the files except  those with .EXE and .OBJ  extensions
  6183.           to show modified as of now, type
  6184.                TOUCH *.* /EXCLUDE:.EXE,.OBJ
  6185.                TOUCH *.* /EXCLUDE:.EXE,.OBJ
  6186.                TOUCH *.* /EXCLUDE:.EXE,.OBJ
  6187.  
  6188.           To set the modification times of all the .EXE files with A as the
  6189.           second character of the filename, to midnight this morning, type
  6190.                TOUCH ?A*.EXE /T
  6191.                TOUCH ?A*.EXE /T
  6192.                TOUCH ?A*.EXE /T
  6193.  
  6194.           To set all  files in  the current  directory tree  that have  the
  6195.           Archive attribute to show modified just before midnight  tonight,
  6196.           type
  6197.                TOUCH ...*.* +A /T23:59:58
  6198.                TOUCH ...*.* +A /T23:59:58
  6199.                TOUCH ...*.* +A /T23:59:58
  6200.  
  6201.           To set all files modified last Monday to show modified as of last
  6202.           Sunday, type
  6203.                TOUCH *.* /ON:MON /T:SUN
  6204.                TOUCH *.* /ON:MON /T:SUN
  6205.                TOUCH *.* /ON:MON /T:SUN
  6206.  
  6207.  
  6208.  
  6209.  
  6210.  
  6211.  
  6212.  
  6213.  
  6214.  
  6215.  
  6216.  
  6217.  
  6218.           InCommand User's Guide                 Utility Reference    81
  6219.  
  6220.  
  6221.  
  6222.  
  6223.           WHICH
  6224.           WHICH
  6225.           WHICH
  6226.  
  6227.  
  6228.           WHICH 
  6229.           WHICH 
  6230.           WHICH filespec   
  6231.                            
  6232.                            or   WHICH  /?
  6233.                                 WHICH  /?
  6234.                                 WHICH  /?
  6235.  
  6236.           Searches your PATH for the executable file for a DOS command
  6237.  
  6238.  
  6239.  
  6240.           __________
  6241.           Modifiers:
  6242.           __________
  6243.           Modifiers:
  6244.           __________
  6245.           Modifiers:
  6246.  
  6247.  
  6248.                None
  6249.  
  6250.           ___________
  6251.           Exit codes:
  6252.           ___________
  6253.           Exit codes:
  6254.           ___________
  6255.           Exit codes:
  6256.  
  6257.                0    Normal         Command was found in path
  6258.                1    Information    Command not found in path
  6259.                4    Fatal Error    Syntax error, or no filespec given
  6260.  
  6261.  
  6262.           WHICH finds a file which is executable from the DOS command line.
  6263.           WHICH uses  the  same  search  rules  as  DOS,  and  locates  the
  6264.           executable file corresponding to the given filespec.
  6265.  
  6266.           If no directory is given in filespec, then your current directory
  6267.           and PATH will  be searched.   If a directory  is given, only  the
  6268.           given directory is searched.
  6269.  
  6270.           If a drive is given in filespec but no directory, WHICH searches
  6271.           the current directory on the given drive for the executable.   If
  6272.           the filespec isn't found, WHICH completes  the search using your
  6273.           PATH.
  6274.  
  6275.           If a drive and a directory are given in filespec, WHICH searches
  6276.           for the  executable only  in the  given  directory on  the  given
  6277.           drive.
  6278.  
  6279.           If no extension is given, then  in each directory WHICH  searches
  6280.           for   filespec.COM   first,   then   filespec.EXE,   and   lastly
  6281.           filespec.BAT.  The  first file found  is the one  that DOS  would
  6282.           execute if the given filespec were typed at the DOS command line.
  6283.  
  6284.           Note that  DOS 3.x  and earlier  ignores any  extension given  in
  6285.           filespec.   DOS 4.x  and higher  properly handle  filespecs with
  6286.           extensions, and if given, will only execute files which have  the
  6287.           given extension.   When  an extension  is given  in the  filespec
  6288.           parameter of WHICH, WHICH properly finds the executable file  for
  6289.           the DOS version you are using (i.e.  if you are using DOS 3.x  or
  6290.  
  6291.  
  6292.  
  6293.           82   Utility Reference                         Inductive Logic
  6294.  
  6295.  
  6296.  
  6297.  
  6298.                                                                       WHICH
  6299.                                                                       WHICH
  6300.                                                                       WHICH
  6301.  
  6302.  
  6303.           earlier, WHICH ignores the given extension.   If you are  running
  6304.           DOS 4.x or  later, WHICH searches  for a command  with the  given
  6305.           extension.).
  6306.  
  6307.           _________
  6308.           Examples:
  6309.           _________
  6310.           Examples:
  6311.           _________
  6312.           Examples:
  6313.  
  6314.  
  6315.           To find which executable will run from typing XCOM, type
  6316.                WHICH XCOM
  6317.                WHICH XCOM
  6318.                WHICH XCOM
  6319.  
  6320.           This command causes WHICH to search the current directory on  the
  6321.           current drive, then the directories in  your PATH, in order,  for
  6322.           the command named XCOM.
  6323.  
  6324.           To find which file extension will be used when typing \PATH\XCOM,
  6325.           type
  6326.                WHICH \PATH\XCOM
  6327.                WHICH \PATH\XCOM
  6328.                WHICH \PATH\XCOM
  6329.  
  6330.           This causes WHICH  to only search  the directory  \PATH\ for  the
  6331.           executable XCOM.
  6332.  
  6333.           To find the executable which will  run when you type the  command
  6334.           A:XCOM, type
  6335.                WHICH A:XCOM
  6336.                WHICH A:XCOM
  6337.                WHICH A:XCOM
  6338.  
  6339.           WHICH searches the current  directory on the  A: drive first  for
  6340.           the executable XCOM.   If XCOM isn't  found, WHICH continues  the
  6341.           search using your PATH.
  6342.  
  6343.           To find which executable will run from typing XCOM.EXE, type
  6344.                WHICH XCOM.EXE
  6345.                WHICH XCOM.EXE
  6346.                WHICH XCOM.EXE
  6347.  
  6348.           but note that in DOS 3.x or earlier, the filespec found might not
  6349.           have an extension of ".EXE".
  6350.  
  6351.  
  6352.  
  6353.  
  6354.  
  6355.  
  6356.  
  6357.  
  6358.  
  6359.  
  6360.  
  6361.  
  6362.  
  6363.  
  6364.  
  6365.           InCommand User's Guide                 Utility Reference    83
  6366.  
  6367.  
  6368.  
  6369.  
  6370.           WIPEDIR
  6371.           WIPEDIR
  6372.           WIPEDIR
  6373.  
  6374.  
  6375.           WIPEDIR 
  6376.           WIPEDIR 
  6377.           WIPEDIR wildcard-filespec
  6378.  
  6379.           Deletes entire directory trees
  6380.  
  6381.  
  6382.  
  6383.           WIPEDIR is  a simple  batch  file which  uses  the IDEL  and  IRD
  6384.           commands to  erase  an  entire directory  tree.    The  wildcard-
  6385.           filespec should  specify only  directories, not  files.   WIPEDIR
  6386.           first deletes all the files in  the directory tree, then  removes
  6387.           all the  subdirectories, and  then removes  the given  directory.
  6388.           WIPEDIR accepts  no  modifiers, but  you  can use  IDEL  and  IRD
  6389.           manually for deletions that require special modifiers.
  6390.  
  6391.           WIPEDIR lets IDEL and IRD give you the usual confirmation prompts
  6392.           before deleting  anything, so  you are  protected from  mistyping
  6393.           this command.  Note that because WIPEDIR is a simple batch  file,
  6394.           it relies on  the error  reporting capability  of the  underlying
  6395.           IDEL and IRD utilities.
  6396.  
  6397.           You should be  very careful  when using  WIPEDIR with  wildcards,
  6398.           because it can delete many directory trees with just one command.
  6399.  
  6400.           WIPEDIR is a batch file based on these 3 commands:
  6401.                IDEL %1\...*.*
  6402.                IDEL %1\...*.*
  6403.                IDEL %1\...*.*           delete files in given and
  6404.                                         subdirectories
  6405.                IRD %1\...*.*
  6406.                IRD %1\...*.*
  6407.                IRD %1\...*.*            remove all subdirectories from
  6408.                                         given directory
  6409.                IRD %1
  6410.                IRD %1
  6411.                IRD %1                   remove the given directory
  6412.  
  6413.           WIPEDIR.BAT also  has additional  commands to  avoid  undesirable
  6414.           messages.
  6415.  
  6416.           _________
  6417.           Examples:
  6418.           _________
  6419.           Examples:
  6420.           _________
  6421.           Examples:
  6422.  
  6423.  
  6424.           To remove an entire directory tree named DEAD, type
  6425.                WIPEDIR DEAD
  6426.                WIPEDIR DEAD
  6427.                WIPEDIR DEAD
  6428.  
  6429.           To remove all the directory trees starting with the letters  DEAD
  6430.           from the root directory, type
  6431.                WIPEDIR DEAD*
  6432.                WIPEDIR DEAD*
  6433.                WIPEDIR DEAD*
  6434.  
  6435.           Pay close attention to the confirmation prompts when you use this
  6436.           command, because it can delete a  large amount of data in a  very
  6437.           short time.
  6438.  
  6439.  
  6440.  
  6441.           84   Utility Reference                         Inductive Logic
  6442.  
  6443.  
  6444.  
  6445.  
  6446.  
  6447.  
  6448.  
  6449.  
  6450.  
  6451.  
  6452.                                                                APPLICATIONS
  6453.                                                                APPLICATIONS
  6454.                                                                APPLICATIONS
  6455.  
  6456.  
  6457.  
  6458.  
  6459.  
  6460.  
  6461.  
  6462.  
  6463.                                    Finding a File
  6464.                                    Finding a File
  6465.                                    Finding a File
  6466.  
  6467.           Sometimes, you know the name (or part of the name) of a file  you
  6468.           want, but you don't  know where (in what  directory) to find  it.
  6469.           To find  in what  directory a  file  (or other  directory  entry)
  6470.           exists, simply use  the DI command  to search the  whole disk  by
  6471.           specifying the  directory tree starting  at the  root directory.
  6472.           For example,  if you  are  looking for  a  file that  has  "LOST"
  6473.           somewhere in it's name, type
  6474.  
  6475.                DI \...*LOST*
  6476.                DI \...*LOST*
  6477.                DI \...*LOST*
  6478.  
  6479.  
  6480.  
  6481.                                 Cleaning Up Your Disk
  6482.                                 Cleaning Up Your Disk
  6483.                                 Cleaning Up Your Disk
  6484.  
  6485.           After a while,  disks often  become cluttered  with old,  useless
  6486.           files.  These files not only waste space, but also slow down your
  6487.           disk by making  utilities search  through needless  data to  find
  6488.           what you really want.  Disk management is a large topic, but  the
  6489.           InCommand utilities provide  several features  to make  it a  lot
  6490.           easier.
  6491.  
  6492.           For example, suppose you have a simple word processor that leaves
  6493.           a lot of  annoying temporary  files lying  around all  throughout
  6494.           your disk directories.   If you  know that those  junk files  are
  6495.           always named ~WRIxxxx.TMP (where "xxxx" are random digits),  then
  6496.           you can clean your whole disk of them with one simple command:
  6497.  
  6498.                IDEL \...~WRI*.TMP
  6499.                IDEL \...~WRI*.TMP
  6500.                IDEL \...~WRI*.TMP
  6501.  
  6502.           As another example,  suppose you  edit a  lot of  files, and  for
  6503.           safety, your editor creates a backup  copy of each file you  edit
  6504.           in a file  of the  same name, but  with an  extension of  ".BAK".
  6505.           After a while,  you may find  your disk littered  with scores  of
  6506.           .BAK files.  You want to  get rid of old  ones, say, more than  a
  6507.           month old, but you'd  like to keep the  recent ones, in case  you
  6508.           need them.  That's easy, with  InCommand.  If you want to  delete
  6509.           all the .BAK files created before May anywhere on the disk, type
  6510.  
  6511.                IDEL \...*.BAK /BE:5-1
  6512.                IDEL \...*.BAK /BE:5-1
  6513.                IDEL \...*.BAK /BE:5-1
  6514.  
  6515.  
  6516.  
  6517.  
  6518.  
  6519.  
  6520.  
  6521.  
  6522.           InCommand User's Guide                      Applications    87
  6523.  
  6524.  
  6525.  
  6526.  
  6527.  
  6528.  
  6529.  
  6530.                             Why Doesn't My Computer Work?
  6531.                             Why Doesn't My Computer Work?
  6532.                             Why Doesn't My Computer Work?
  6533.  
  6534.           Did you  ever  turn on  your  computer  one day  and  find  that,
  6535.           suddenly, some software  doesn't work  any more?   Something  you
  6536.           just used yesterday,  but now  its broken.   It may  be that  you
  6537.           changed some configuration or setup  files, but you can't  really
  6538.           remember what all you did yesterday (or worse, someone else  used
  6539.           your computer and changed something).  You may have lots of files
  6540.           in many different directories that all have to be set just  right
  6541.           for everything  to  work properly.    Since you  know  it  worked
  6542.           yesterday, can you find out what's  changed since then?  You  can
  6543.           with InCommand!  If  today is Tuesday, then  to scan your  entire
  6544.           disk for all the files changed since yesterday, type:
  6545.  
  6546.                DI \.../SINCE:MONDAY
  6547.                DI \.../SINCE:MONDAY
  6548.                DI \.../SINCE:MONDAY
  6549.           Look  through  the  file  list  for  things  like   AUTOEXEC.BAT,
  6550.           CONFIG.SYS, *.INI, and all your other configuration files.   Then
  6551.           examine those recently modified files to make sure they're  still
  6552.           correct.
  6553.  
  6554.  
  6555.  
  6556.                                 Backing Up Hard Disks
  6557.                                 Backing Up Hard Disks
  6558.                                 Backing Up Hard Disks
  6559.  
  6560.           Everyone should know that it is  important to have backup  copies
  6561.           of all files on  your hard disk, because  it is a certainty  that
  6562.           every hard disk will crash sooner  or later.  When it happens  to
  6563.           you, you  want  to  be prepared.  Amazingly,  DOS  gives  you  no
  6564.           reasonable way  to  make  backups, despite  their  importance  to
  6565.           everyone.
  6566.  
  6567.           The DOS BACKUP and RESTORE utilities are largely unusable because
  6568.           they  don't  let  you  make  reasonable  "incremental"   backups.
  6569.           Incremental backups are  those where you  make a  full backup  of
  6570.           your disk  once, and  thereafter, you  only back  up those  files
  6571.           which have changed since  your original full  backup.  Since  you
  6572.           probably want to  backup fairly often,  incremental backups  save
  6573.           you countless hours by copying only  the small fraction of  files
  6574.           you've changed since your last incremental backup.
  6575.  
  6576.           A major point here is that  most people must use floppy disks  to
  6577.           backup their hard  disks, and  a single  floppy can  hold only  a
  6578.           fraction of the files that a hard disk can hold.  So most backups
  6579.           span many floppies.  Though the DOS BACKUP utility allows you  to
  6580.           make backups over  several floppies,  and the  DOS XCOPY  command
  6581.           allows you  to  make  incremental backups  to  a  single  floppy,
  6582.  
  6583.  
  6584.  
  6585.           88   Applications                              Inductive Logic
  6586.  
  6587.  
  6588.  
  6589.  
  6590.  
  6591.  
  6592.  
  6593.           neither DOS utility can make incremental backups across  multiple
  6594.           floppies.  (We should note that  the BACKUP utility will let you
  6595.           copy only your recently modified files to a new set of  floppies,
  6596.           but BACKUP will not update your original set of backup floppies.
  6597.           The result is that now you have 2 sets of floppies, and next week
  6598.           you'll have 3 sets, and so on.  Not a very useful capability.)
  6599.  
  6600.  
  6601.  
  6602.                                  Making the Backups
  6603.                                  Making the Backups
  6604.                                  Making the Backups
  6605.  
  6606.           With InCommand, your problems are solved.  The ICOPY utility  can
  6607.           easily perform incremental backups across any number of floppies.
  6608.           You do it with 2 steps:
  6609.                 1. Make a full backup of your disk, and then
  6610.                 2. After a while, make an incremental backup of only  those
  6611.                 files that need it.
  6612.  
  6613.           Step 1 can be performed once, and step 2 can be repeated as often
  6614.           as you want.
  6615.  
  6616.                1. First, you create your original  full backup of all  your
  6617.                  files.  Let's say you want to backup your C: hard disk  to
  6618.                  floppies in your  A: drive.   To  do this,  first set  the
  6619.                  Archive attribute on  all files on  the disk, to  indicate
  6620.                  that every file needs to be backed up (archived):
  6621.                                         CHATT +A C:\...*.*
  6622.                                         CHATT +A C:\...*.*
  6623.                                         CHATT +A C:\...*.*
  6624.  
  6625.                  Next, ICOPY all the files to floppies by typing
  6626.                                         ICOPY C:\...*.* A: /MODIFIED
  6627.                                         ICOPY C:\...*.* A: /MODIFIED
  6628.                                         ICOPY C:\...*.* A: /MODIFIED
  6629.  
  6630.                  When the first floppy fills up,  ICOPY will tell you  that
  6631.                  the disk is full,  and ask if you  want to retry the  copy
  6632.                  operation.  Just replace the full floppy with a blank one,
  6633.                  and answer "R" (retry) to continue copying.  Repeat  these
  6634.                  steps for as many floppies as it takes to backup your hard
  6635.                  disk.  Mark your last floppy, as this one will likely have
  6636.                  the most free space on it.
  6637.  
  6638.  
  6639.  
  6640.                2. To  make an  incremental backup,  put  one of  your  full
  6641.                  backup floppies (that you made in step 1) in A:, and type
  6642.                     ICOPY C:\... *.* A: /MODIFIED/IFEXISTS
  6643.                     ICOPY C:\... *.* A: /MODIFIED/IFEXISTS
  6644.                     ICOPY C:\... *.* A: /MODIFIED/IFEXISTS
  6645.  
  6646.  
  6647.  
  6648.  
  6649.  
  6650.           InCommand User's Guide                      Applications    89
  6651.  
  6652.  
  6653.  
  6654.  
  6655.  
  6656.  
  6657.  
  6658.                  This will bring up to date  any files on that floppy.   If
  6659.                  the floppy fills  up, ICOPY will  ask you if  you want  to
  6660.                  retry the file that was too  big.  Answer "S" (skip),  and
  6661.                  ICOPY will continue with the rest  of the floppy.  Do not
  6662.                                                                     Do not
  6663.                                                                     Do not
  6664.                  change  floppies  until   this  ICOPY  command   completes
  6665.                  change  floppies  until   this  ICOPY  command   completes
  6666.                  change  floppies  until   this  ICOPY  command   completes
  6667.                  successfully.
  6668.                  successfully.
  6669.                  successfully.
  6670.  
  6671.                  Repeat this  command for  each  of your  backup  floppies,
  6672.                  except the "last" one that you  marked.  When all but  the
  6673.                  "last" floppy are updated, update the "last" one with
  6674.                     ICOPY C:\...*.* A: /MODIFIED
  6675.                     ICOPY C:\...*.* A: /MODIFIED
  6676.                     ICOPY C:\...*.* A: /MODIFIED
  6677.  
  6678.                  This will update any  files on the  last floppy, and  also
  6679.                  add any  new  files that  did  not exist  on  your  backup
  6680.                  floppies.  Eventually,  this "last" floppy  will fill  up,
  6681.                  and you will not be able to  fit all the new files on  it.
  6682.                  No problem.  Simply insert a blank floppy, and answer  "R"
  6683.                  (retry) to ICOPY's asking to retry.  From now on, this new
  6684.                  floppy will be your "last"  backup floppy, until it  fills
  6685.                  up and you create another one.
  6686.  
  6687.                  Notice here that  if you need  to format a  new floppy  to
  6688.                  finish the  second  ICOPY  command, you  can  do  that  by
  6689.                  answering "D" (go to DOS) to ICOPY's retry question.  Then
  6690.                  format a new floppy, type "EXIT"  to return to ICOPY,  and
  6691.                  enter "R" to continue to copy files.  You can repeat  this
  6692.                  for as many new floppies as you need to format.
  6693.  
  6694.  
  6695.           So in summary, you can  make multi-floppy incremental backups  by
  6696.           1) making a multi-floppy full backup, and then 2) as often as you
  6697.           like, make incremental backups across the  set of floppies.   You
  6698.           can add more floppies as you need them at any time.
  6699.  
  6700.           You may wonder  what happens  when a  file already  on the  first
  6701.           floppy grows so large that it  won't fit on the floppy any  more.
  6702.           In that case, the file is  automatically deleted from the  floppy
  6703.           when ICOPY discovers that the new  version won't fit.  Later,  it
  6704.           will be  copied  to  your  "last"  floppy  when  you  finish  the
  6705.           incremental backup.
  6706.  
  6707.  
  6708.  
  6709.  
  6710.  
  6711.  
  6712.  
  6713.  
  6714.  
  6715.           90   Applications                              Inductive Logic
  6716.  
  6717.  
  6718.  
  6719.  
  6720.  
  6721.  
  6722.  
  6723.                              Restoring From Your Backups
  6724.                              Restoring From Your Backups
  6725.                              Restoring From Your Backups
  6726.  
  6727.           To restore your hard disk from  this set of floppies, you  simply
  6728.           copy each floppy in turn to your hard disk:
  6729.                ICOPY A:\... C:\
  6730.                ICOPY A:\... C:\
  6731.                ICOPY A:\... C:\
  6732.           The floppies may be  copied in any order.   After restoring  your
  6733.           hard disk, the floppies are still a valid backup set, and may  be
  6734.           used for  future incremental  backups  of the  now-restored  hard
  6735.           disk.
  6736.  
  6737.  
  6738.  
  6739.                               Comparing Two Directories
  6740.                               Comparing Two Directories
  6741.                               Comparing Two Directories
  6742.  
  6743.           To compare the dates/times of files in a directory with the files
  6744.           in  another   (presumably  related)   directory,  you   can   use
  6745.           EXECUTE/IFNEWER.   For example,  suppose  you have  a  directory,
  6746.           DIR1, of *.C files, and a  parallel directory, DIR2, of  archives
  6747.           of DIR1 named *.LIB.  You'd like to know which files in DIR1  are
  6748.           newer than  their last  archive,  and therefore  need  archiving.
  6749.           Just type
  6750.  
  6751.                EXECUTE /IFNEWER [DIR1\*.C] REM [DIR2\]
  6752.                EXECUTE /IFNEWER [DIR1\*.C] REM [DIR2\]
  6753.                EXECUTE /IFNEWER [DIR1\*.C] REM [DIR2\]
  6754.  
  6755.           In this case, the REM command does nothing when executed, so  you
  6756.           simply get a list of file names.
  6757.  
  6758.  
  6759.  
  6760.                             Fast Updating of a Directory
  6761.                             Fast Updating of a Directory
  6762.                             Fast Updating of a Directory
  6763.  
  6764.           Sometimes, you may have  a directory (or  directory tree) of  the
  6765.           latest versions  of some  files.   Periodically, some  or all  of
  6766.           those files  are updated  in a  master  directory, and  you  must
  6767.           update your directory to match the master.  You could simply copy
  6768.           all of the files from the master to your directory, but if only a
  6769.           few of  the files  have changed,  you will  waste a  lot of  time
  6770.           copying over those files  that have not  changed (and were  still
  6771.           up-to-date in your directory).  With ICOPY, you can easily  avoid
  6772.           copying the  files that  have not  changed  by simply  using  the
  6773.           /IFNEWER modifier.  For example, suppose you want to update  your
  6774.           directory SLAVE\  to the  latest  version of  directory  MASTER\.
  6775.           Simply type
  6776.                ICOPY MASTER\ SLAVE\ /IFNEWER
  6777.                ICOPY MASTER\ SLAVE\ /IFNEWER
  6778.                ICOPY MASTER\ SLAVE\ /IFNEWER
  6779.  
  6780.  
  6781.  
  6782.  
  6783.  
  6784.           InCommand User's Guide                      Applications    91
  6785.  
  6786.  
  6787.  
  6788.  
  6789.  
  6790.  
  6791.  
  6792.           Only those files in MASTER\ which have changed since your copy of
  6793.           SLAVE\ was last updated  will be copied.   Your SLAVE\  directory
  6794.           will be up-to-date, and you will have saved time.
  6795.  
  6796.  
  6797.  
  6798.                            Physically Sorting a Directory
  6799.                            Physically Sorting a Directory
  6800.                            Physically Sorting a Directory
  6801.  
  6802.           Normally, the  files  in  a  directory  are  stored  in  a  first
  6803.           available, first filled  order.   This means  that usually,  over
  6804.           time, the files are in random order.  You've probably noticed how
  6805.           annoying that is  with the DOS  DIR command,  which doesn't  even
  6806.           sort the files before listing them.  With DI, of course,  there's
  6807.           no problem, because the listings are always sorted.
  6808.  
  6809.           Sometimes, though, that's not enough.  For some applications, you
  6810.           need the files  in a  directory to  be physically  sorted on  the
  6811.           disk, so  that  when DOS  runs  through them,  it  does so  in  a
  6812.           predictable way.  InCommand  gives you a  fast way to  physically
  6813.           sort a directory.   As described  in the  Utility Reference,  the
  6814.           MOVE command  moves  files  in sorted  order  (alphabetically  by
  6815.           default, but you can choose sorting by time, size, or extension).
  6816.           To sort an  existing directory, simply  MOVE all the  files to  a
  6817.           new, temporary directory,  then move  them back  to the  original
  6818.           directory.   For example,  to sort  all  the files  in  directory
  6819.           CITIES, do this:
  6820.                MOVE CITIES\*.* CITIES\~TEMP~.~\ /CREATE
  6821.                MOVE CITIES\*.* CITIES\~TEMP~.~\ /CREATE
  6822.                MOVE CITIES\*.* CITIES\~TEMP~.~\ /CREATE
  6823.                MOVE CITIES\~TEMP~.~\ CITIES\
  6824.                MOVE CITIES\~TEMP~.~\ CITIES\
  6825.                MOVE CITIES\~TEMP~.~\ CITIES\
  6826.                IRD CITIES\~TEMP~.~
  6827.                IRD CITIES\~TEMP~.~
  6828.                IRD CITIES\~TEMP~.~
  6829.  
  6830.           We used an  odd name for  the temporary directory  to reduce  the
  6831.           chance that  we would  pick the  name of  an existing  directory.
  6832.           Note that because  the files  are not copied,  the MOVE  is very
  6833.           fast, even for large files.   This procedure also works for  most
  6834.                                         This procedure also works for  most
  6835.                                         This procedure also works for  most
  6836.           network directories.
  6837.           network directories.
  6838.           network directories.
  6839.  
  6840.           You can generalize  this procedure in  a batch  file.   InCommand
  6841.           includes the batch file SORTDIR.BAT as  an example.  You can  use
  6842.           SORTDIR as a  general utility, but  because SORTDIR  is a  simple
  6843.           batch file, its error detection and messages are very simple.
  6844.  
  6845.  
  6846.  
  6847.  
  6848.  
  6849.  
  6850.  
  6851.  
  6852.  
  6853.           92   Applications                              Inductive Logic
  6854.  
  6855.  
  6856.  
  6857.  
  6858.  
  6859.  
  6860.  
  6861.                         File Existence Testing in Batch Files
  6862.                         File Existence Testing in Batch Files
  6863.                         File Existence Testing in Batch Files
  6864.  
  6865.           You can test for the existence of any files (or directories) in a
  6866.           batch file with the DI command.  You can avoid any display output
  6867.           with the /EXIST modifier.   This is much  more powerful than  the
  6868.           DOS IF  EXIST  commands,  because  of  the  full  InCommand  file
  6869.           selection capabilities.  DI returns an exit code which your batch
  6870.           file can  test.   For  example,  to test  if  any file  (not  any
  6871.           directories) named TESTFILE.* exist in the current directory, you
  6872.           could include these lines in your Batch file:
  6873.  
  6874.                DI TESTFILE.* -D /EXIST
  6875.                DI TESTFILE.* -D /EXIST
  6876.                DI TESTFILE.* -D /EXIST
  6877.                IF ERRORLEVEL 1 GOTO NOFILES
  6878.                IF ERRORLEVEL 1 GOTO NOFILES
  6879.                IF ERRORLEVEL 1 GOTO NOFILES
  6880.                     ...instructions if one or more files exist
  6881.                NOFILES:
  6882.                NOFILES:
  6883.                NOFILES:
  6884.  
  6885.           Similarly, you could  test for the  existence of  a directory  by
  6886.           using +D in place of -D in the above example.  See the  InCommand
  6887.           utility file WIPEDIR.BAT for another  example.  DI/EXIST is  fast
  6888.           because it stops after finding the first match.
  6889.  
  6890.  
  6891.  
  6892.  
  6893.  
  6894.  
  6895.  
  6896.  
  6897.  
  6898.  
  6899.  
  6900.  
  6901.  
  6902.  
  6903.  
  6904.  
  6905.  
  6906.  
  6907.  
  6908.  
  6909.  
  6910.  
  6911.  
  6912.  
  6913.  
  6914.  
  6915.  
  6916.  
  6917.  
  6918.           InCommand User's Guide                      Applications    93
  6919.  
  6920.  
  6921.  
  6922.  
  6923.  
  6924.  
  6925.  
  6926.  
  6927.  
  6928.  
  6929.                                 DOS Facts and Foibles
  6930.                                 DOS Facts and Foibles
  6931.                                 DOS Facts and Foibles
  6932.  
  6933.           The 52 legal filename characters in DOS are
  6934.                ! # $ % & ' ( ) - 0 1 2 3 4 5 6 7 8 9 @ A B C D E F G H I  J
  6935.           K L M N O P Q R S T U V W X Y Z
  6936.                ^ _ ` { } ~
  6937.  
  6938.           Lower case letters  are translated into  uppercase by  DOS.   The
  6939.           remaining 16 printable  ASCII characters  are illegal  in a  file
  6940.           name:
  6941.                " * + , . / : ; < = > ? [ \ ] |
  6942.  
  6943.           The DOS batch processor removes all commas, semicolons, and equal
  6944.           signs ("=") from  the batch  parameters, and  replaces them  with
  6945.           spaces.  Thus
  6946.                MYBATCH A=B C,D
  6947.                MYBATCH A=B C,D
  6948.                MYBATCH A=B C,D
  6949.                MYBATCH A,B,C;D
  6950.                MYBATCH A,B,C;D
  6951.                MYBATCH A,B,C;D
  6952.                MYBATCH A B C D
  6953.                MYBATCH A B C D
  6954.                MYBATCH A B C D
  6955.           are all equivalent.  This substitution does not occur on external
  6956.           (.COM or .EXE) commands.
  6957.  
  6958.           DOS 3.3 has a bug in its processing of destination wildcards that
  6959.           does not exist in DOS 4.0 or 3.2. Forms like the following do not
  6960.           work in the RENAME command:
  6961.                RENAME *.DEF X*.DEF
  6962.                RENAME *.DEF X*.DEF
  6963.                RENAME *.DEF X*.DEF
  6964.  
  6965.           If you have a file named  ABC.DEF, DOS 3.3 incorrectly names  the
  6966.           file XABC.DEF  instead  of XBC.DEF.    Therefore, if  you  use  a
  6967.           version of DOS with this bug, InCommand destination wildcards may
  6968.           produce different results than your version of DOS.  The DOS COPY
  6969.           and XCOPY commands seem  to work properly.   Note also that  some
  6970.           vendors have customized  versions of DOS,  so the version  number
  6971.           alone may not be enough to tell if you have this bug or not.
  6972.  
  6973.           DOS  4.0  now  correctly  processes  extensions  you  specify  on
  6974.           external  commands,  instead  of  ignoring  them  as  in  earlier
  6975.           versions.  Therefore, if you type
  6976.                MYBATCH.BAT
  6977.                MYBATCH.BAT
  6978.                MYBATCH.BAT
  6979.           and a file named  MYBATCH.COM exists first in  the path, DOS  4.0
  6980.           will still run  the batch file.   WHICH always  finds the  actual
  6981.           command your DOS version will run.
  6982.  
  6983.           Some DOS systems  have a problem  with ROM  BIOS shadowing  (into
  6984.           RAM).  When shadowing, if you "shell out" of Windows to DOS,  you
  6985.  
  6986.  
  6987.  
  6988.           InCommand User's Guide             DOS Facts and Foibles    95
  6989.  
  6990.  
  6991.  
  6992.  
  6993.  
  6994.  
  6995.  
  6996.           cannot get a directory  listing of a floppy  disk.  In fact,  you
  6997.           cannot do anything that  computes the number of  free bytes on  a
  6998.           floppy disk.  If you try, Windows reports a protection error, and
  6999.           terminates your  DOS session.   This  is true  of DOS's  own  DIR
  7000.           command, and there is  nothing DI can do to work  around the DOS
  7001.           bug.
  7002.  
  7003.  
  7004.  
  7005.  
  7006.  
  7007.  
  7008.  
  7009.  
  7010.  
  7011.  
  7012.  
  7013.  
  7014.  
  7015.  
  7016.  
  7017.  
  7018.  
  7019.  
  7020.  
  7021.  
  7022.  
  7023.  
  7024.  
  7025.  
  7026.  
  7027.  
  7028.  
  7029.  
  7030.  
  7031.  
  7032.  
  7033.  
  7034.  
  7035.  
  7036.  
  7037.  
  7038.  
  7039.  
  7040.  
  7041.  
  7042.  
  7043.  
  7044.  
  7045.           96   DOS Facts and Foibles                     Inductive Logic
  7046.  
  7047.  
  7048.  
  7049.  
  7050.  
  7051.  
  7052.  
  7053.  
  7054.  
  7055.                                   Revision History
  7056.                                   Revision History
  7057.                                   Revision History
  7058.  
  7059.           Version 1.0 was released in February 1991.
  7060.           Version 1.0 was released in February 1991.
  7061.           Version 1.0 was released in February 1991.
  7062.  
  7063.           Version 1.1 was released in May
  7064.           Version 1.1 was released in May
  7065.           Version 1.1 was released in May 1991, and included the following
  7066.                                           1991, and included the following
  7067.                                           1991, and included the following
  7068.           changes:
  7069.           changes:
  7070.           changes:
  7071.                  Added /TOUCH to the ICOPY command.
  7072.                   Allowed ICOPY  to continue  copying to  another diskette
  7073.                 when one fills up.
  7074.                  Added /BIGGER and /SMALLER file selection modifiers.
  7075.                  Sped up DI/TOTAL by not sorting the directory internally.
  7076.                  Allowed network drives with more than 1 letter to be used
  7077.                 in wildcard-filespecs
  7078.                  Added the /EXIST modifier to DI.
  7079.                  Fixed occasional 1 hour error in DAYTIME
  7080.                  Added /BYxxx to MOVE and ICOPY
  7081.                  Added free bytes display to IDEL
  7082.  
  7083.           Version 1.2  was  released  in  August  1991,  and  included  the
  7084.           Version 1.2  was  released  in  August  1991,  and  included  the
  7085.           Version 1.2  was  released  in  August  1991,  and  included  the
  7086.           following changes:
  7087.           following changes:
  7088.           following changes:
  7089.                  Added  subdirectory subtotals and  the /SUBTOTAL modifier
  7090.                 to DI
  7091.                  DI/ABS and DI/REL now sort properly
  7092.                  Standardized all the /HELP output
  7093.                  Added /? as a synonym for /HELP (for DOS 5 compatibility)
  7094.                 Added /PROMPT as a synonym for /INDIVIDUALLY in IDEL and
  7095.                 IRD (for DOS 5 compatibility)
  7096.                  Fixed an occasional lockup after using MOVEDIR
  7097.                  Added SEARCH
  7098.  
  7099.           Version 1.2a was  released in  September 1991,  and included  the
  7100.           Version 1.2a was  released in  September 1991,  and included  the
  7101.           Version 1.2a was  released in  September 1991,  and included  the
  7102.           following changes:
  7103.           following changes:
  7104.           following changes:
  7105.                  Added DHELP
  7106.                  Fixed ICOPY /MODIFIED to not change the attributes if the
  7107.                 file is not copied
  7108.                  Fixed directory detection on PC/NFS networks
  7109.  
  7110.           Version 1.2b  was  released in  October  1991, and  included  the
  7111.           Version 1.2b  was  released in  October  1991, and  included  the
  7112.           Version 1.2b  was  released in  October  1991, and  included  the
  7113.           following changes:
  7114.           following changes:
  7115.           following changes:
  7116.                  Added left/right scrolling to SEARCH
  7117.                  Added options to ICOPY when a destination disk is full
  7118.  
  7119.  
  7120.  
  7121.  
  7122.  
  7123.  
  7124.           InCommand User's Guide                  Revision History    97
  7125.  
  7126.  
  7127.  
  7128.  
  7129.  
  7130.  
  7131.  
  7132.           Version 1.3  was  released in  December  1991, and  included  the
  7133.           Version 1.3  was  released in  December  1991, and  included  the
  7134.           Version 1.3  was  released in  December  1991, and  included  the
  7135.           following changes:
  7136.           following changes:
  7137.           following changes:
  7138.                  Added multiple filename wildcard patterns
  7139.                  Added find (P)revious to SEARCH
  7140.                   Added full  file  directory information  to  SEARCH <F1>
  7141.                 screen
  7142.                  Added /IFOLDER to ICOPY and EXECUTE
  7143.                  MOVEDIR works on network drives
  7144.                  Added /OVERWRITE to ICOPY and MOVE
  7145.  
  7146.           Version 1.3e  was  released in  October  1992, and  included  the
  7147.           Version 1.3e  was  released in  October  1992, and  included  the
  7148.           Version 1.3e  was  released in  October  1992, and  included  the
  7149.           following changes:
  7150.           following changes:
  7151.           following changes:
  7152.                  Added /BACKUP to MOVE and ICOPY
  7153.  
  7154.           Version 2.0  was released  in January  1993,  and was  the  first
  7155.           Version 2.0  was released  in January  1993,  and was  the  first
  7156.           Version 2.0  was released  in January  1993,  and was  the  first
  7157.           Shareware release.
  7158.           Shareware release.
  7159.           Shareware release.
  7160.  
  7161.  
  7162.  
  7163.  
  7164.  
  7165.  
  7166.  
  7167.  
  7168.  
  7169.  
  7170.  
  7171.  
  7172.  
  7173.  
  7174.  
  7175.  
  7176.  
  7177.  
  7178.  
  7179.  
  7180.  
  7181.  
  7182.  
  7183.  
  7184.  
  7185.  
  7186.  
  7187.  
  7188.  
  7189.  
  7190.  
  7191.  
  7192.  
  7193.           98   Revision History                          Inductive Logic
  7194.  
  7195.  
  7196.  
  7197.  
  7198.  
  7199.  
  7200.  
  7201.                                         Index
  7202.                                         Index
  7203.                                         Index
  7204.  
  7205.                                                destination, 11
  7206.                                                fast updating, 91
  7207.                                                sorting, 53, 92
  7208.           /?, 7                                tree, 9, 11, 12, 16
  7209.                                              DOS compatibility, 15, 16, 17,
  7210.                                              51, 53, 95
  7211.  
  7212.           Aborting commands, 12
  7213.           Applications, 85
  7214.           ASCII character set, 99            EXCLUDE, 22
  7215.           Attributes                         EXECUTE, 4, 43
  7216.             preserving, 53                   Existence testing, 93
  7217.                                              Exit codes, 28
  7218.  
  7219.  
  7220.           Backing up hard disks, 88
  7221.           BEFORE, 9                          Fast updating of a  directory,
  7222.           BREAK ON, 12                       91
  7223.           BYEXTENSION, 7                     File size
  7224.           BYSIZE, 8                            allocated, 39
  7225.           BYTIME, 8                            selecting by, 25
  7226.                                              Filespec, 15
  7227.                                                absolute, 40
  7228.                                                destination, 20
  7229.           CHATT, 4, 31                         relative, 40
  7230.           Cleaning up your disk, 87            source, 20
  7231.           Command                              wildcard, 15
  7232.             structure, 15                    Finding a file, 87
  7233.             syntax notation, 5               FLATTEN, 11, 21
  7234.           Command     modifiers,     See
  7235.           Modifiers
  7236.           Commands, 4
  7237.           Control characters, 5              Getting Started, 1
  7238.           Ctrl C, 12
  7239.           Customer support, 13
  7240.  
  7241.                                              Hidden files, 27
  7242.                                              How to use this manual, 4
  7243.           Date/Time syntax, 23
  7244.           DAYTIME, 4, 34
  7245.           DHELP, 4, 35
  7246.           DI, 4, 7, 38                       ICOPY, 4, 11, 48
  7247.           Directory, 5                       IDEL, 4, 10, 56
  7248.             contents, 15                     IHELP, 4, 7, 59
  7249.  
  7250.  
  7251.  
  7252.           InCommand User's Guide                            Index    101
  7253.  
  7254.  
  7255.  
  7256.  
  7257.  
  7258.  
  7259.  
  7260.           Installation, 6
  7261.           IRD, 4, 11, 61
  7262.           IREN, 4, 64                        VERIFY, 51
  7263.  
  7264.  
  7265.  
  7266.           Modifiers, 9, 15, 21               WHICH, 4, 82
  7267.             abbreviating, 10, 22             Why doesn't my computer work?,
  7268.             BEFORE, 9, 23                    88
  7269.             BIGGER, 25                       Wildcard File  Specifications,
  7270.             file size, 25                    15
  7271.             FLATTEN, 21                        summary, 19
  7272.             INDIVIDUALLY, 10                 Wildcards
  7273.             keyword, 22                        *, 8, 16
  7274.             ON, 10, 23                         . . ., 9, 16, 20
  7275.             SINCE, 9, 23                       ?, 8, 16
  7276.             SMALLER, 25                        directory, 8
  7277.           MOVE, 4, 11, 67                      implied, 18
  7278.           MOVEDIR, 4, 12, 72                   multiple patterns, 18
  7279.           Multitasking warning, 73           WIPEDIR, 4, 11, 84
  7280.  
  7281.  
  7282.  
  7283.           ON, 10
  7284.  
  7285.  
  7286.  
  7287.           README.TXT, 6
  7288.           Revision History, 97
  7289.  
  7290.  
  7291.  
  7292.           SEARCH, 4, 75
  7293.           SINCE, 9
  7294.           Subdirectory, 5
  7295.           Syntax Reference, 14
  7296.           System files, 27
  7297.  
  7298.  
  7299.  
  7300.           TOUCH, 4, 80
  7301.           Tutorial, 7
  7302.  
  7303.  
  7304.  
  7305.           Utilities, See Commands
  7306.  
  7307.  
  7308.  
  7309.           102   Index                                    Inductive Logic
  7310.  
  7311.  
  7312.  
  7313.  
  7314.  
  7315.  
  7316.  
  7317.                                InCommand User Response
  7318.                                InCommand User Response
  7319.                                InCommand User Response
  7320.  
  7321.  
  7322.  
  7323.  
  7324.           Name:                                        Date:
  7325.  
  7326.           Organization:
  7327.  
  7328.           Street:
  7329.  
  7330.           City, State, Zip:
  7331.  
  7332.  
  7333.  
  7334.           What do you like about the utilities or the manual?
  7335.  
  7336.  
  7337.  
  7338.  
  7339.  
  7340.  
  7341.           What do you dislike  about the utilities or  the manual?   Please
  7342.           make suggestions for improvement.
  7343.  
  7344.  
  7345.  
  7346.  
  7347.  
  7348.  
  7349.           For what applications do you use your computer?
  7350.  
  7351.  
  7352.  
  7353.  
  7354.  
  7355.  
  7356.  
  7357.  
  7358.  
  7359.           Please mail your comments to:
  7360.  
  7361.           Inductive Logic
  7362.           P.O. Box 26238
  7363.           San Diego, CA 92196
  7364.           (619) 578-5146
  7365.  
  7366.  
  7367.                              Inductive Logic Order Form
  7368.  
  7369.           The following prices and order  form are for INDIVIDUAL  licenses
  7370.           only.  The software governed by this license may legally be  used
  7371.           by only 1 person at a  time.  It is specifically prohibited  from
  7372.           being installed in any network  directory available to more  than
  7373.           one user.  Network  and site licenses  are available at  discount
  7374.           prices.  Call us for details.
  7375.  
  7376.           Please mail me (postage paid by IL) the following Inductive Logic
  7377.           products:
  7378.  
  7379.           Description            Qty.  Unit Price    Extended Price
  7380.           ___________                   ____  __________    ______________
  7381.  
  7382.           InCommand: Command Line Utilities for DOS.
  7383.  
  7384.           Single user license           ____x $35.00 each = _____________
  7385.  
  7386.                 California deliveries add 7.25% sales tax   _____________
  7387.  
  7388.           Shipping and handling add $5 (USA), $15 (foreign) _____________
  7389.  
  7390.                                            For COD add $5   _____________
  7391.  
  7392.                                                     Total   _____________
  7393.  
  7394.           System Requirements:  IBM compatible PC, DOS  3.0 or higher, and
  7395.           256K of RAM.  A hard disk is strongly recommended.
  7396.  
  7397.           Please make check  or money order  payable to "Inductive  Logic".
  7398.           Do not send cash through the mail.
  7399.  
  7400.           Check one:  __ 5.25" 1.2  Mbyte floppy
  7401.                       __ 5.25" 360  kbyte floppy
  7402.                       __ 3.5"  1.44 Mbyte floppy
  7403.  
  7404.           Name _________________________________________________________
  7405.  
  7406.           Company ______________________________________________________
  7407.  
  7408.           Address_______________________________________________________
  7409.  
  7410.           Phone  (_____)______-__________ Ext.__________________________
  7411.           InCommand is a trademark of Inductive Logic.
  7412.  
  7413.  
  7414.           How did you hear about our product ?
  7415.  
  7416.  
  7417.